0

当我在 PDO 中过滤日期时间以仅显示今天的日期而不显示昨天和明天的日期时,如何显示结果?我已经在 db 中将 DATE 更改为 DATETIME,因为 fullcalendar .... 所以现在表中没有显示日期...如何更改此代码以恢复这一天的日期:

<?
$sql = $conn->prepare("SELECT * FROM CITAS WHERE start = CURDATE() ORDER BY start ASC");
$sql->execute();                                    while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
?> 

此代码在 start 为 DATE 格式时有效,但是当我将其更改为 DATETIME 时什么都不显示

4

2 回答 2

2

您需要考虑日期范围:

start >= CURDATE() AND start < CURDATE() + INTERVAL 1 DAY

...未经测试,但你明白了

于 2013-06-07T04:32:53.783 回答
1

任何一个:

WHERE DATE(start) = CURDATE()

或者:

WHERE start >= CURDATE() AND start < CURDATE() + INTERVAL 1 DAY

如果列上有索引start,则第二个应该执行得更好。

于 2013-06-07T04:33:52.617 回答