-1

我在我的网站上运行这个:

$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

我真的不知道现在该做什么,我尝试指定列,但这也不起作用。我对这一切都很陌生,我正在根据手册中的内容执行此操作。

4

4 回答 4

2

让我们再看看你的错误信息:

[...]the right syntax to use near'OrderVALUES

它抱怨的第一件事是Order。这就是您Table从问题中替换的内容。因此,让我们假设这是您的实际表名。

它也是一个保留字。用作列或表名称标识符时,将保留字括在反引号中。

于 2013-11-06T03:24:54.737 回答
0

订单是关键词只需使用另一个词而不是订单

于 2013-11-06T03:25:14.257 回答
0

首先,您应该始终指定列,因为您永远不知道何时必须向表中添加新列,并且如果您没有这样做,旧查询将开始做一些混乱的事情。

话虽如此,您确定这些是与表匹配的正确列数据类型吗?另外,请确保日期格式有效,您应该使用 Ymd。您将在此处找到更多信息。

于 2013-11-06T03:25:49.673 回答
0

您确定只有 4 列并且它们的顺序与您在查询中指定的顺序相同吗?

正如您建议的那样,尝试添加列名,例如:

$PlaceOrder = "INSERT INTO Table (customer, item, quantity, date) VALUES ('$CustomerID', '$ItemID', '$Quantity', '$Date')";

这对你有帮助吗?

于 2013-11-06T03:26:25.857 回答