【问题标题】:php mysqli insert date to DATE type [duplicate]php mysqli将日期插入日期类型[重复]
【发布时间】:2018-10-27 07:55:49
【问题描述】:
$NOW = new DateTime();
$date = $NOW->format('Y-m-d'); // return 2018-05-17

我想将数据库中的日期更新为现在日期。

查询:

$sql = "UPDATE table SET date = $date WHERE id = $id";

但它的更新时间是这样的 => 0000-00-00

此列的类型是DATE

为什么?我做错了什么?

【问题讨论】:

    标签: php mysql date mysqli


    【解决方案1】:

    你可以试试mysql now()函数来更新日期。

    $sql = "UPDATE table SET date = now() WHERE id = $id";
    

    或者你应该在查询中添加单个 qoutes

    $sql = "UPDATE table SET date = '".$date."' WHERE id = $id";
    

    【讨论】:

    • 是以这种格式返回的吗? Y-m-d ?看起来它返回时间戳,对吧?
    • 不,它将以 Y-m-d 格式保存日期,因为您的 mysql 列是日期类型而不是时间戳。
    【解决方案2】:

    只需在引号中添加您的日期值,然后尝试。将您的查询更改为:

    $sql = "UPDATE table SET date = '$date' WHERE id = $id";
    

    【讨论】:

      猜你喜欢
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2022-11-17
      • 1970-01-01
      • 2016-08-20
      • 2015-10-18
      • 1970-01-01
      相关资源
      最近更新 更多