查询将不会排序[重复项]

问题描述 投票:0回答:1

我有此方法

public function getArticles($order){
        $stmt = $this->db->prepare("SELECT * FROM articles ORDER BY :order");
        $stmt->bindParam('order',$order);
        $stmt->execute();
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
        return $results;
    }

那个我这样叫

$articles->getArticles('created DESC');

但是当我尝试执行“创建ASC”时,它不会更改顺序吗?我已经尝试使用两个$ vars和backtics围绕该列,但是我无法使其正常工作,并且我也没有遇到任何错误,只是每次都以相同的顺序拉动行。

php mysql mysqli pdo
1个回答
1
投票

您的查询使用绑定变量来命名列。你不能那样做™。

必须将列名(包括ORDER BY子句中的列名指定为查询文本的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.