PDO ORDER BY不处理非自动增量的字段

时间:2015-07-14 16:51:42

标签: php mysql

这是我的代码:

$q = $db->prepare("SELECT * from slider WHERE page = :page ORDER BY index ASC");
$q->bindValue(':page', basename($_SERVER['PHP_SELF']));
$q->execute();

if ($q->rowCount() > 0){
    $result = $q->fetchAll(PDO::FETCH_ASSOC);

    for ($i=0; $i < $q->rowCount(); $i++) { 
        $path = $result[$i]['path'];
        echo "<div><img src=\"$path\"></div>";
    }
}

原样,没有显示结果。 但是,如果我通过不同的领域订购,即&#39; id&#39;这是自动增量和表的主键,我得到的结果是由正确的字段排序。

1 个答案:

答案 0 :(得分:1)

'index'是MySQL中的保留字。如果要将其用作列名称,并且在查询中,则必须使用反向标记将其包围。

SELECT * from `slider` WHERE `page` = :page ORDER BY `index` ASC