我正在尝试将新记录插入表'订单'。这是代码:
$orderDB = mysql_query("INSERT INTO order (itemsID, deliveryDestinationID, total, shipped) VALUES ($itemID, $delivery, $totalprice, 'N')") or die(mysql_error());
变量是$ itemID,这是一个5位数字,$ delivery也是一个5位数字,$ totalprice是交易成本(例如137.97)和'N'用于发货领域我的桌子。
我认为这个问题来自$ totalprice,但是当我在这行之前回显所有变量时,它们似乎是正确的。以下是$ totalprice为170时的回声和错误示例:
00036 00022 N 170您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'order(itemsID,deliveryDestinationID,total,shipment)附近使用正确的语法VALUES(第1行的00036,00022,170'
有什么想法吗?
答案 0 :(得分:2)
ORDER
是保留关键字。如果您将其用作表名,请使用反引号将其转义:
"INSERT INTO `order` (itemsID ...
答案 1 :(得分:2)
ORDER
是MySQL reserved keyword。要将其用作表名或列名,必须将其括在反引号中。
$orderDB = mysql_query("INSERT INTO `order` (itemsID, deliveryDestinationID, total, shipped) VALUES ($itemID, $delivery, $totalprice, 'N')") or die(mysql_error());
答案 2 :(得分:2)
order
是MySQL中的保留字。考虑更改表名或将其包装在反引号中(例如:`order
`)
答案 3 :(得分:1)
order
是reserved keyword。它是查询中的错误来源。正如其他人所建议的那样,将其封装在后面,以便查询起作用。