【问题标题】:MySQL PHP insert into datatime [duplicate]MySQL PHP插入日期时间[重复]
【发布时间】:2016-08-20 13:23:34
【问题描述】:

我正在尝试通过以下方式更新我的数据库中的一些数据:

if($stmt = $connection->prepare("UPDATE `booking` SET status = ?, datecreated = ? WHERE day = ? AND timeSlot = ?")){
    $stmt->bind_param('ssss', 'processing', 'now()', $results[0]['timeSlot'], $results[0]['day']);
    $stmt->execute();
    $stmt->close();
    echo 'Updated';
}

当我运行它时,我收到以下错误:

致命错误:无法通过引用传递参数 2

datecreated 列是日期时间类型。

我已经尝试过 now() 和 'now()' 和 date('Y-m-d H:i:s') 所有 3 都给了我同样的错误。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    你需要绑定可以被引用的变量。如果它们不是变量,则直接将它们放在查询中:

    if($stmt = $connection->prepare("UPDATE `booking` SET status = 'processing', datecreated = NOW() WHERE day = ? AND timeSlot = ?")){
        $stmt->bind_param('ss', $results[0]['timeSlot'], $results[0]['day']);
        $stmt->execute();
        $stmt->close();
        echo 'Updated';
    }
    

    或者我猜你可以做 $booking = 'processing';$datecreated = 'NOW()'; 如果你必须绑定这些变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-20
      • 2011-11-08
      • 1970-01-01
      • 2016-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      相关资源
      最近更新 更多