Невозможно вставить SQL в одну конкретную таблицу

Поэтому я пытаюсь вставить sql в эту конкретную таблицу за последние три часа, и я думаю, что я начинаю сходить с ума. Я выделил вещи, которые, по моему мнению, могут быть проблемой, хотя, если вы хотите получить дополнительную информацию, не стесняйтесь спрашивать

По существу, в настоящее время у меня есть две таблицы sql: concepts и FUideas (я действительно их укрепил), которые хранятся в одной базе данных. Когда я запускаю следующий код:

 $con = mysql_connect('localhost', 'username', 'password'); mysql_select_db("my_db", $con); $sql = "INSERT INTO `concepts` (description) VALUES ('HAI THAR')"; mysql_query($sql,$con); 

Он вставляет строку в понятия, но когда я запускаю этот код:

 $con = mysql_connect('localhost', 'username', 'password'); mysql_select_db("my_db", $con); $sql = "INSERT INTO `FUideas` (description) VALUES ('HAI THAR')"; mysql_query($sql,$con); 

Он ничего не делает. И просто для того, чтобы еще больше сокрушаться с головой: если вы выполните это на вкладке phpMyAdmin:

 INSERT INTO `FUideas` (description) VALUES ('HAI THAR') 

оно работает!?!?!

ПОЖАЛУЙСТА, ЛЮБЫЕ ИДЕИ, КОД, ХЭКИ? Я ДЕСЕР! Если у вас есть какие-либо догадки или подсказки, расскажите мне, и я попробую и отчитаюсь о результатах

РЕДАКТИРОВАТЬ

PHP Myadmin дамп создания таблиц:

 -- phpMyAdmin SQL Dump -- version 3.3.9 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Jul 04, 2011 at 11:21 AM -- Server version: 5.0.91 -- PHP Version: 5.2.9 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; CREATE TABLE concepts ( id int(10) unsigned NOT NULL auto_increment, title tinytext NOT NULL, `user` tinytext NOT NULL, `date` int(10) unsigned NOT NULL default '0', summary tinytext NOT NULL, description text NOT NULL, tags tinytext NOT NULL, ip tinytext NOT NULL, appreciates tinyint(3) unsigned NOT NULL default '4', PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

 -- phpMyAdmin SQL Dump -- version 3.3.9 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Jul 04, 2011 at 11:23 AM -- Server version: 5.0.91 -- PHP Version: 5.2.9 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Table structure for table 'FUideas' -- CREATE TABLE FUideas ( id int(10) unsigned NOT NULL auto_increment, `user` tinytext NOT NULL, `date` int(10) unsigned NOT NULL default '0', description text NOT NULL, upvotes text NOT NULL, downvotes text NOT NULL, appreciated tinyint(3) unsigned NOT NULL default '0', ip tinytext NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ

Для всех, кто смотрит на эту проблему, оказывается, что у меня был старый код, работающий одновременно с созданием ошибок и несоответствий.

Попробуй это:

 mysql_query($sql,$con) or die(mysql_error()); 

Если есть проблема с запросом (синтаксическая ошибка или нарушение ключа и т. Д.), Тогда вызов die () выплюнет сообщение об ошибке, описывающее проблему.

Пытаться

 $sql = "INSERT INTO `FUideas` (`description`) VALUES ('HAI THAR')"; 

Если это не работает, я спрашиваю, в вашем SQL для создания таблицы, как идут данные user и date , но другие поля нет?

Поскольку он работает как администратор, я предполагаю, что имя пользователя, которое вы используете в соединении, не имеет привилегий вставки в таблице FUIdeas.

Я не совсем уверен, но описание может быть зарезервировано, попробуйте ..

 $con = mysql_connect('localhost', 'username', 'password'); mysql_select_db("my_db", $con); $sql = "INSERT INTO `FUideas` (`description`) VALUES ('HAI THAR')"; mysql_query($sql,$con) or die(mysql_error()); 

Наверное, это было бы бессмысленно с первым, кто работал …

my_db одинаково для обоих экземпляров?

Вы видите ошибку SQL? Я не вижу, как работает ваш первый запрос, так как у вас есть куча не нулевых столбцов без значений DEFAULT.

Вы пытаетесь вставить одно значение:

$ sql = "INSERT INTO concept (description) VALUES ('HAI THAR')";

В то время как у вас много рынков на рынке, как NOT NULL в вашей таблице. Вы должны заполнить хотя бы ВСЕ требуемые поля одним оператором вставки. Кстати, ваше первое «рабочее» выражение не может работать, если DDL, который вы передали, является реальным.