我试图从我的表中提取类型为1,2或3的结果,并且每个事件都有一个日期。我试图只显示未来事件并对它们进行排序。下面的代码有点工作,除了按日期排序外,它只是根据事件输入数据库的顺序进行排序。
$sql = " SELECT *
FROM fitness
WHERE type = '3'
AND date >= CURRENT_DATE()
ORDER BY 'date' ASC";
提前感谢您的帮助!
答案 0 :(得分:0)
您在单引号中有'日期',表示文字文字字符串日期。
取下单引号。
此外,您没有说明日期列是DATE
,DATETIME
还是TIMESTAMP
项。如果它是DATE
项目,那么如果其中许多事件具有相同的日期,则无法区分您的事件。
最后,DATE
是一个保留字。您可能会使用它作为列名来使MySQL感到莫名其妙。如果我是你,我会改变它。
答案 1 :(得分:0)
尝试:
$sql = "SELECT *
FROM fitness
WHERE type = '3'
AND date >= CURRENT_DATE()
ORDER BY date ASC";
请注意日期附近没有单引号。如果这不起作用,请尝试以下操作。
$sql = "SELECT *
FROM fitness
WHERE type = '3'
AND `date` >= CURRENT_DATE()
ORDER BY `date` ASC";
在这种情况下,使用后退刻度字符`而不是单引号。这是因为“日期”是一个保留字。