MySQL PHP 插入到数据时间中


MySQL PHP insert into datatime

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

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个都给了我相同的错误。

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

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()';并绑定这些变量,如果你必须的话。