【问题标题】:Why would SQL update the date into tabel to 0000-00-00 00:00:00?为什么 SQL 会将表中的日期更新为 0000-00-00 00:00:00?
【发布时间】:2021-03-09 23:47:48
【问题描述】:

我正在尝试将 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 很好,它输出正确的时间戳。

【问题讨论】:

  • 你不写2021-03-10 02:30:00,再看看你传的格式。你通过的看起来更有可能是10-03-2021 02:30:00,这是第 10 年第 3 个月 2021 日。
  • 谢谢你,Zerkms!!!真的解决了我的问题!!!!我无法相信我是多么的盲目! 2 小时的挫败感.. 哈哈 :) 谢谢

标签: php sql time


【解决方案1】:

您使用的格式与 MySQL DATETIME 使用的格式不同:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2015-07-19
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    相关资源
    最近更新 更多