Mysql 在选择PDO中筛选datetime以显示当前结果

Mysql 在选择PDO中筛选datetime以显示当前结果,mysql,datetime,pdo,datetime-format,Mysql,Datetime,Pdo,Datetime Format,当我在PDO中过滤datetime以只显示今天的日期而不显示昨天和明天的日期时,如何显示结果? 我已经在db中将日期更改为DATETIME,因为fullcalendar。。。。所以现在在桌子上不要告诉我日期。。。如何更改此代码以恢复当天的日期: <? $sql = $conn->prepare("SELECT * FROM CITAS WHERE start = CURDATE() ORDER BY start ASC"); $sql->execute();

当我在PDO中过滤datetime以只显示今天的日期而不显示昨天和明天的日期时,如何显示结果? 我已经在db中将日期更改为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时,不会显示任何内容

您需要考虑日期范围:

start>=CURDATE()和start

。。。未经测试,但您得到了想法

您需要考虑日期范围:

start>=CURDATE()和start
。。。未经测试,但您得到的想法是:

WHERE DATE(start) = CURDATE()
或:

其中start>=CURDATE()和start
如果在
start
列上有索引,则第二个索引的性能应该更好。

或者:

WHERE DATE(start) = CURDATE()
或:

其中start>=CURDATE()和start
如果
start
列上有一个索引,那么第二个索引的性能应该更好

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