为什么SQL要将日期更新到表0000-00-00 00:00:00?



我正在尝试将SQL表中的字段更新为当前时间和日期。

代码如下:

$now=date('d-m-Y H:i:s',time());
$query="UPDATE mytable SET SEEN = '".$now."' WHERE ID_ITEM = ".$id_material;
$stmt=$dbh1->prepare($query);
$query ;
$stmt->execute();          

将我的SEEN字段设置为0000-00-00 00:00:00。如果我直接在查询中写入一个特定的日期,就说"2021-03-10 02:30:00";它会将该日期写入SEEN字段。但是现在输出的不是$,而是0。$now可以,它输出正确的时间戳。

您使用的格式与MySQLDATETIME使用的格式不同:

$now = (new DateTime("now"))->format("Y-m-d H:i:s");

最新更新