2016-04-26 53 views
0

我試圖通過更新我的DB一些數據:MySQL的PHP​​插入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'; 
} 

當我運行此我得到以下錯誤:

Fatal error: Cannot pass parameter 2 by reference

datecreated是一個日期時間類型。

我已經嘗試過現在()和'現在()'和日期('Y-m-d H:我:S')所有3給我同樣的錯誤。

回答

4

您需要綁定變量可以引用。如果他們不變量然後把它們直接在查詢:

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()';,如果你一定要結合這些變量。