我想知道为什么这个 where 子句在 MySql 中不起作用?我将 runDate 列设置为数据类型“date”,日期显示格式如下:
<?php
$con = mysql_connect("***","***","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("ArnoldsPizzaShop", $con);
$result = mysql_query("SELECT * FROM runinfo WHERE runDate = 2013-01-06");
while($row = mysql_fetch_array($result))
{
echo $row['route'] ;
}
mysql_close($con);
?>
最佳答案
您需要在日期值周围加上单引号:
SELECT *
FROM runinfo
WHERE runDate = '2013-01-06'
所以你的代码是:
mysql_query("SELECT * FROM runinfo WHERE runDate = '2013-01-06'");
如果您的 runDate
列也包含时间,那么您可能想要使用:
SELECT *
FROM runinfo
WHERE Date(runDate) = '2013-01-06'
甚至:
SELECT *
FROM runinfo
WHERE runDate between '2013-01-06' and '2013-01-07'
关于php - MySQL 中按日期的 SQL Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14224104/