PHP PDO订购ASC

时间:2016-03-02 12:27:46

标签: php sql

我将此代码作为获取列表的函数,但是使用ORDER BY代码它不起作用(不会返回任何内容)。我怎么去订购呢?我看过其他人如何做的工作,但我不能让它发挥作用。

<?php
function getGenericList($conn, $limit) {
    $sql = "SELECT * FROM `jobs_current` LIMIT ".$limit." ORDER BY `jobs_current`.`school` ASC";
    $query = $conn->prepare($sql);
    $query->execute();
    $count = $query->rowCount();
    if($count == 0){
        return '<td class="td1"></td><td class="td2" style="color: red;">Sorry, there doesnt seem to be any results!</td><td class="td3"></td>';
    }
    $end = "";
    foreach ($conn->query($sql) as $row) {

        $end = $end.'<tr class="hoverOver"><td class="td1"><a   href="/jobview.php?id='.$row['id'].'">'.$row['school'].'</a></td>';
        $end = $end.'<td class="td2"><a   href="/jobview.php?id='.$row['id'].'">'.$row['job_type'].'</a></td>';
        $end = $end.'<td class="td3"><a   href="/jobview.php?id='.$row['id'].'">'.$row['location'].'</a></td></tr>';

    }return $end;
}
?>

为什么它不按照定义的顺序返回行?我使用phpmyadmin生成查询,所以我不明白为什么它不起作用。

1 个答案:

答案 0 :(得分:4)

您查询语法错误,正确的写入方式是先ORDER然后LIMIT:

"SELECT * FROM `jobs_current` ORDER BY `jobs_current`.`school` ASC LIMIT ".$limit.""