MySQL PHP具有未来日期

时间:2013-02-25 00:34:46

标签: php mysql date sorting

我试图从我的表中提取类型为1,2或3的结果,并且每个事件都有一个日期。我试图只显示未来事件并对它们进行排序。下面的代码有点工作,除了按日期排序外,它只是根据事件输入数据库的顺序进行排序。

$sql = " SELECT * 
           FROM fitness 
          WHERE type = '3' 
            AND date >= CURRENT_DATE() 
         ORDER BY 'date' ASC";

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您在单引号中有'日期',表示文字文字字符串日期。

取下单引号。

此外,您没有说明日期列是DATEDATETIME还是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";

在这种情况下,使用后退刻度字符`而不是单引号。这是因为“日期”是一个保留字。