2015-01-21 2 views
1

Я хочу проверить таблицу и обновить значение end column, если значение date column равно $ dat.Невозможно использовать переменную в MySQL?

Следующий код не будет работать, пока вы не измените значение $ dat до exact date. Например, «2015-1-21».

Как использовать переменную типа $ dat?

$dat = date('Y-m-d'); 
$sql= "UPDATE history SET end='20:00:00' WHERE date = $dat"; 

if (!mysqli_query($con,$sql)) { 
    die('Error: ' . mysqli_error($con)); 
} 
echo "1 record added";  
+1

его нужно указывать, почему бы просто не использовать 'curdate()' – Ghost

ответ

2

Даты строки и должны быть обернуты в кавычки

$sql= "UPDATE history SET end='20:00:00' WHERE date = '$dat'"; 

Как уже упоминалось в комментариях вы можете взять PHP из вашего запроса и использовать CURDATE()

$sql= "UPDATE history SET end='20:00:00' WHERE date = CURDATE()"; 
+0

благодаря этой работе: $ sql = "UPDATE history SET end = '20: 00: 00 'WHERE date = '$ Дат' "; – Anas

0
$sql= "UPDATE history SET end='20:00:00' WHERE DATE_FORMAT(date, '%Y-%m-%d') = '$dat'";