【发布时间】:2012-09-09 15:49:37
【问题描述】:
我遇到了一个我无法弄清楚的严重问题。我正在尝试从 MySQL 数据库返回两个给定日期之间的开始日期和结束日期的行。这是我查询数据库的php代码:
$getRooms = mysql_query("
SELECT *
FROM Tarifas
WHERE Start BETWEEN '2013-01-10' AND '2013-01-13'
AND End BETWEEN '2013-01-10' AND '2013-01-13'
");
开始和结束设置为日期字段
我的数据库设置如下:
ID | RoomId | Start | End
--------------------------------------
4 | 34562 | 2013-01-09 | 2013-10-23
如果有人能帮我弄清楚为什么这不起作用,将不胜感激!
【问题讨论】:
-
您是否遇到 PHP 或 MySQL 错误?
-
除非您提供的数据不正确,否则您在表格中的结束日期为
2013-10-23,但您正在寻找end日期BETWEEN '2013-01-10' AND '2013-01-13'- 数据不匹配所以你不会得到任何结果。 -
您有符合此条件的记录吗?
-
Start和End列的类型是什么? (您能给出创建Tarifas表的语句吗?) -
您是否正在检查日期冲突(例如,当整个日期范围或其中一部分位于数据库中存储的日期范围内时)?
标签: php mysql sql date datetime