PHP:使用MySQL插入数据库

时间:2013-11-06 03:17:47

标签: php mysql insert

我在我的网站上运行:

$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 个答案:

答案 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')";

这对你有帮助吗?