在MySQL(PHP)中插入CURDATE()和CURTIME()
如何在MySQL中插入在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."')"; 为什
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文档中的日期
和时间
也没有保留: