我试图从数据库中选择一堆东西。每个都有一个日期,我只想显示其日期等于今天的日期。
$sql="SELECT * FROM bs_events WHERE NOW() ORDER BY eventDate ";
我试着到处寻找,找不到任何东西。
感谢任何帮助人员
答案 0 :(得分:3)
WHERE eventDate >= CURDATE()";
应该解决你的问题
答案 1 :(得分:2)
我想你想要
其中EventDate> = now()
答案 2 :(得分:1)
试试这个
$sql="SELECT * FROM bs_events WHERE NOW() <= eventDate ORDER BY eventDate ";
答案 3 :(得分:0)
$sql = "SELECT * FROM bs_events WHERE eventDate >= CURDATE() ORDER BY eventDate";
答案 4 :(得分:0)
重要说明:使用NOW()和CURDATE()会使查询对查询缓存无效。在许多要求 - f.e.主页 - 这可能会导致性能下降。
我更喜欢以下代码段:
$oDate = new DateTime();
$sQuery = "
SELECT field1, field2
FROM bs_events
WHERE eventDate >= '".$oDate->format("Y-m-d H:i")."'
ORDER BY eventDate
";
这将实现您的目标,但会导致查询缓存使用一整分钟。当然,你可以将它调整到更长或更短的时间。