在MySQL(PHP)中插入CURDATE()和CURTIME()

在MySQL(PHP)中插入CURDATE()和CURTIME(),php,mysql,date,time,Php,Mysql,Date,Time,如何在MySQL中插入CURDATE()和CURTIME() 我将它们分别插入DB表中的日期和时间字段中 $query = "INSERT INTO `ordisp` (date, time, operator, status, completed, name, email) VALUES (CURDATE(), CURTIME(), '".$operator."', '".$status."', '".$complete."', '".$name."', '".$email."')"; 为什

如何在MySQL中插入
CURDATE()
CURTIME()

我将它们分别插入DB表中的日期和时间字段中

$query = "INSERT INTO `ordisp` (date, time, operator, status, completed, name, email) VALUES (CURDATE(), CURTIME(), '".$operator."', '".$status."', '".$complete."', '".$name."', '".$email."')";

为什么不起作用呢?

date
time
是mysql的保留字,因此应该用反勾号引用,以避免与保留字冲突

"INSERT INTO `ordisp` (`date`, `time`, operator, ....

您有一个语法错误-查询末尾有一个逗号:

'".$name."', '".$email."',)";
                         ^ here
删除它,使完整查询变为:

$query = "INSERT INTO `ordisp` (date, time, operator, status, completed, name, email) VALUES (CURDATE(), CURTIME(), '".$operator."', '".$status."', '".$complete."', '".$name."', '".$email."')";

对于将来的调试,您应该查看MySQL错误,它将为您提供问题的描述,例如未知字段/表名或语法错误等。

什么不起作用?你有什么错误吗?是不是因为你的拖尾
?或者可能是因为保留字的使用?请输入使用上述代码时出现的错误,我不这么认为。请参阅MySql官方文档。请在投票被否决之前更新您的答案。
date
time
不是保留字。看,我使用的是mysql 5.0,而不是5.5。背虱把它修好了。谢谢用户@MrCode:True,在mysql 5.5中,这些不再是保留字。我猜测他可能运行在
mysql 5.1
上,因为语法错误,单靠backticks无法解决这个问题,即使在mysql 5.0上也是如此。奇怪-甚至5.0文档中的
日期
时间
也没有保留: