php - MySQL 中按日期的 SQL Where 子句

标签 php mysql

我想知道为什么这个 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/

相关文章:

mysql - 选择并插入具有不同记录的 MySQL

mysql - 在 MySQL 中对两个表中的数据进行分组

php - 如何在单击按钮时将数据插入数据库?

php - 使用 PHP 制作 'facebook' 样式提要

php - 如何替换php中除下划线和句点以外的所有特殊字符?

c# - MySQL 或 Microsoft Sync Framework 同步/复制

php - 如何在没有 API 的情况下获取 Instagram 中主题标签的所有图像?

php - 从 5 张图像中选择一张图像作为一项

sql - BETWEEN 和 IN 与 MySQL 或一般 SQL 之间是否存在性能差异?

mysql - 2 个表的结果