不能在MySQL中使用变量?

时间:2015-01-21 01:16:56

标签: php mysql syntax mysqli

如果end column值等于$ dat,我想查看表并更新date column值。

在将$ 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";    

2 个答案:

答案 0 :(得分: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()";

答案 1 :(得分:0)

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