2015-01-21 31 views
1

如果date column的值等於$ dat,我想查看錶格並更新end column值。無法在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 2015-01-21 01:17:50

回答

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 =「更新歷史SET結束= '20:00:00'WHERE date = '$ DAT'「; – Anas 2015-01-21 01:25:21

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