2016-04-26 4 views
0

Я пытаюсь обновить некоторые данные в моей БД с помощью: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 является DateTime тип.

Я попробовал сейчас() и 'now()' и date ('Y-m-d H: i: 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()'; и связывает эти переменные, если необходимо.

Смежные вопросы