php - 具有日期范围的 MySQL 查询不返回任何结果

标签 php mysql date range

所以我正在从 PHP 执行此查询,这里是确切的查询字符串:

SELECT * FROM `pdem_timesheet`.`tblMasterTimesheets` WHERE 
`pdem_timesheet`.`tblMasterTimesheets`.`username` = 'pdem' AND 
`pdem_timesheet`.`tblMasterTimesheets`.`date` >= '2012-05-09' AND 
`pdem_timesheet`.`tblMasterTimesheets`.`date` <= '2012-05-15' ORDER BY
`pdem_timesheet`.`tblMasterTimesheets`.`date` ASC 

看起来它对我来说应该是正确的(或多或少地从我以前使用的代码中复制它确实有效)。但是当我运行查询时,结果是空的。

如果我将查询更改为不是日期范围,而是一天:

SELECT * FROM .... WHERE ...`date` = '2012-06-12' ....

它工作得很好,返回它应该返回的一个结果。

我试过使用 between 关键字:

SELECT * FROM ... WHERE ...`date` BETWEEN [start] [end]

但它仍然没有返回任何内容......

有什么想法可以让这个查询返回结果吗?

===ANSWER===

当你去的时候:

var curr_date = now.getDate();
var curr_month = now.getMonth();
var curr_year = now.getFullYear();

它出于某种原因返回月份 - 1。所以如果现在的月份是 6,now.getMonth() 将返回 5...只需要在查询中添加 1(希望我早点看到这个)

最佳答案

您的查询似乎对我有用。

参见demo .

我的查询是

SELECT * FROM tblMasterTimesheets
WHERE 
username='pdem'
AND
date >= '2012-05-09' AND
date <= '2012-05-15'
ORDER BY date ASC

我假设,usernamevarchar 类型,datetimestamp 类型> 或 日期时间

关于php - 具有日期范围的 MySQL 查询不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11088385/

相关文章:

java - ResultSet 元数据返回时间戳而不是日期 Oracle JDBC

c# - 有没有办法强制 Microsoft.Jet.OLEDB 从 Excel 中获取 MM/DD/YYYY 格式的日期列?

php - 从 SimpleXML 访问@attribute

php - Zend 框架中 403 的最快方法

php - 查找点和分组的总和

mysql - 如何在node.js View 中执行MySQL查询?

python - 正在解决 ValidationError : [u "'' value has an invalid date format. 它必须采用 YYYY-MM-DD 格式。”] 在 Django 1.9.2 中?

php - 如何在 CakePHP 中访问 POST 数据然后将其删除?

javascript - 在javascript中设置计时器后更改文本

php - 哪个数据库用于处理非常大的结果集?