SELECT * BETWEEN AND

时间:2012-12-05 02:59:04

标签: php mysql

我正在尝试从MySQL数据库中选择一个事件列表。我对php很新,但通常我可以解决问题。但是接缝不能让它工作..

function get_events_within_dates($da,$dd) {
    global $connection;
    $query = "SELECT * 
        FROM events
        WHERE date 
        BETWEEN STR_TO_DATE('$da','Y-m-d') AND STR_TO_DATE('$dd','Y-m-d')            
        ORDER BY date ASC";

我已使用$da$dd作为抵达日期和出发日期。

当我用完全日期替换变量时,我可以使它工作正常,尝试用STR_TO_DATE()搞乱,这也没有帮助。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

格式字符串中缺少%。使用STR_TO_DATE()作为:

   STR_TO_DATE('$da','%Y-%m-%d')

完整查询如下:

   $query = "SELECT * 
             FROM events
             WHERE date BETWEEN STR_TO_DATE('$da','%Y-%m-%d') 
                        AND STR_TO_DATE('$dd','%Y-%m-%d')            
             ORDER BY date ASC";