MySQL INSERT语句带来错误

时间:2014-04-29 12:20:55

标签: php mysql sql

我有一个名为ORDER的表,其标题为order_date,我需要输入日期。

function NewOrderID()
    {    
        $date = date('Y-m-d H:i:s');
        $t = "INSERT INTO order (order_date) 
              VALUES (' ".$date." ')";
          $query = sprintf($t);    
          $result = mysql_query($query);                        
          if (!$result)
          die(mysql_error());
          return  mysql_insert_id();
    }

我收到以下错误:

    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 ('order_date')
 VALUES (' 2014-04-29 15:02:40 ')' at line 1

我搞砸了查询的任何想法?

2 个答案:

答案 0 :(得分:4)

订单是MySQL中的保留字,您可以在表名

周围使用返回tick(`)

你也可以使用MySQL NOW()函数代替PHP变量$ date

$t = "INSERT INTO `order` (order_date) VALUES (NOW())";

答案 1 :(得分:0)

首先,您正在使用现已弃用的mysql_ *函数,将来将从PHP中删除。所以你需要开始使用MySQLi或PDO。

您收到MYSQL错误原因是:

orderMYSQL的保留关键字,所以你必须在你的tablename周围使用back ticks:

$t = "INSERT INTO `order` (order_date) VALUES ('".$date."')";