2015-01-21 32 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'";