我有一个名为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
我搞砸了查询的任何想法?
答案 0 :(得分:4)
订单是MySQL中的保留字,您可以在表名
周围使用返回tick(`)你也可以使用MySQL NOW()函数代替PHP变量$ date
$t = "INSERT INTO `order` (order_date) VALUES (NOW())";
答案 1 :(得分:0)
首先,您正在使用现已弃用的mysql_ *函数,将来将从PHP中删除。所以你需要开始使用MySQLi或PDO。
您收到MYSQL错误原因是:
order
是MYSQL
的保留关键字,所以你必须在你的tablename周围使用back ticks:
$t = "INSERT INTO `order` (order_date) VALUES ('".$date."')";