MYSQL在日期之间不返回结果是在不同的年份

时间:2014-01-28 10:32:52

标签: php mysql date

我正在尝试查找介于两个日期之间的记录。我的日期设置为2个php变量,今天的日期,然后是今天的8周。当2个变量在同一年内时,代码有效,但当日期落在前一年时,没有找到结果;即$ today = 2014年1月28日和$ lastmonth = 2013年12月3日。当我查看日期结果时,变量似乎正在正确计算。是什么导致了这个问题?

<?php
$today = date('Y-m-d');
$lastmonth = date('Y-m-d', strtotime('-8 week', strtotime($today)));

$sql = mysql_query("SELECT * FROM products WHERE dated_release BETWEEN '$lastmonth' AND '$today' ORDER BY code");

$existCount = mysql_num_rows($sql); // count the row nums
if ($existCount > 0) { // evaluate the count and build display
// more code

?>

表中的dated_release字段已设置为日期字段。这是我第一个使用php和mysql的网站。

1 个答案:

答案 0 :(得分:0)

你可以像这样创建一个简单的查询

SELECT *
FROM products
WHERE dated_release BETWEEN NOW()
    AND DATE_ADD(NOW(), INTERVAL -8 WEEK);