2011-02-24 150 views
2

我想在日期范围内使用php从Mysql中选择记录。 例如,我要选择的日期范围(2011-02-23,2011-02-24)php选择日期时间范围

$query = "select * from table where date_field between '2011-02-23' and '2011-02-24'"; 
mysql_query($query); 

它不工作。 那么,我应该使用的正确格式是什么?

+1

你能给出错误信息?该查询应该没问题,所以php和数据库之间可能有任何错误。 – ryanday 2011-02-24 22:53:14

+0

我检查了返回的变量的类型。 $ result = mysql_query($ query)。它是布尔型的。实际上,它应该是资源。 – chnet 2011-02-24 23:23:51

+0

数据库中date_field字段的格式是什么? DATETIME,DATE,TIMESTAMP或TIME?甚至是一个字符串或一个int。我经常以int格式存储我的日期,因为它很容易对它们进行比较。 – 2011-02-25 00:04:36

回答

2
$query="select * from table where date_field >'2011-02-23' " 
    ." and date_field<date_add('2011-02-24', interval 1 day)"; 
0
$query="select * from table where date_field > '2011-02-23' and date_field < '2011-02-24'"; 
+0

我试过这个。它也不起作用。返回的变量类型仍然是布尔值。 $ result = mysql_query($ query)。它应该是资源。 – chnet 2011-02-24 23:31:32

+0

嗯好吧。我建议将来使用try/catch或mysql_errno&mysql_error来获取错误#和错误消息 – 2011-02-25 14:13:10