开发者

PHP Insert not Working Properly

I have the following lines of PHP code in my file along with some other code:

$command = "INSERT INTO inventory_items (Index, Name, Price) VALUES (NULL, 'Diamond', '3.99')";
$insertion = mysql_query($command) or die(mysql_error());
if ($insertion == FALSE)
{
 echo "Error: Insert failed.";
}
else
{
 echo "Insert successful.";
}

It keeps returning this error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Index, Name, Price) VALUES (NULL, 'Diamond', '3.99')' at line 1

myAdmin says I am using MySQL client version 5.0.91. What am I doing wrong? I just can't figure 开发者_StackOverflow中文版it out! I tried searching a lot...


Index is a reserved word in MySQL and as such, you need to either change the name of the column, or escape it with backticks. Try this $command:

$command = "INSERT INTO inventory_items (`Index`, Name, Price) VALUES (NULL, 'Diamond', '3.99')";

Read more about reserved words here: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html


Try this:

$command = "INSERT INTO inventory_items (`Index`, Name, Price) VALUES (NULL, 'Diamond', '3.99');";

MySQL reserved words and how to treat them.


Can you verify that the columns in your inventory_items table are:

Index
Name
Price

And that you have the Index field set to AUTO_INCREMENT.

The best thing is probably to remove that field from your insert statement.

Try

$command = "INSERT INTO inventory_items (Name, Price) VALUES ('Diamond', '3.99')";

Since you're not inserting an Index anyway.

Hope that helps!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜