首页 > 解决方案 > 为什么 SQL 会将表格中的日期更新为 0000-00-00 00:00:00?

问题描述

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

这是代码:

$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 字段。但不是 $now,而是输出 0。$now 很好,它输出正确的时间戳。

标签: phpsqltime

解决方案


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

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

推荐阅读