我在我的网站上运行:
$PlaceOrder = " Insert INTO Order VALUES ( '$CustomerID' , '$ItemID' , '$Quantity' , '$Date' ) ";
$result = mysql_query ($PlaceOrder);
if (!$result)
{
die('Invalid query: ' . mysql_error());
}
但是,当我做的时候,我不断收到以下错误消息:
Invalid query: 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 'Order VALUES ( '3' , '1' , '12' , '11/05/2013' )' at line 1
我真的不知道现在要做什么,我尝试指定列,但这也不起作用。我对这整件事情都很陌生,我正在根据手册中的内容执行此操作。
答案 0 :(得分:2)
让我们再次查看您的错误消息:
[...]
the right syntax to use near
'Order
VALUES
它抱怨的第一件事是Order
。这就是你用你的问题替换Table
的原因。所以我们假设这是你的实际表名。
这也是一个保留词。当用作列或表名称标识符时,在反引号中包含保留字。
答案 1 :(得分:0)
订单是关键词只需使用另一个词而不是订单
答案 2 :(得分:0)
首先,您应该始终指定列,因为您永远不知道何时必须向表中添加新列,如果您没有这样做,旧查询将开始执行乱码。
话虽如此,您确定这些是与表匹配的正确列数据类型吗? 另外,请确保日期格式有效,您应该使用Y-m-d。您会找到更多信息here。
答案 3 :(得分:0)
您确定只有4列,并且它们的顺序与您在查询中指定的顺序相同吗?
如您所建议的那样尝试添加列名称,例如:
$PlaceOrder = "INSERT INTO Table (customer, item, quantity, date) VALUES ('$CustomerID', '$ItemID', '$Quantity', '$Date')";
这对你有帮助吗?