我正在编写一个简单的事件php脚本作为一个利用mysql数据库的练习。 我试图按日期列出所有未来的节日,但它列出没有节日。
$ nowdate_?变量是今天的日,月和年。
SELECT *
FROM Festivals
WHERE startdate_y <= " . $nowdate_y . "
AND startdate_m >= " . $nowdate_m . "
AND startdate_d > " . $nowdate_d . "
ORDER BY startdate_y asc,startdate_m asc,startdate_d asc
LIMIT 0,15
我是否在查询中错误地接近了这个?
提前致谢
答案 0 :(得分:0)
您无法比较部分日期。
你需要
WHERE DATE_FORMAT(
STR_TO_DATE(
CONCAT_WS('-', startdate_y, startdate_m, startdate_d),
'%Y-%m-%d'),
'%Y-%m-%d')
> CURRENT_DATE
上述表达式可能需要一些修复,具体取决于日期字段中的确切内容。