如何在MySQL查询中反转排序顺序?

Swa*_*aly -1 php mysql sql sql-order-by

我有这个问题:

    $query = $dbh->prepare("SELECT * FROM `mylogs` WHERE `username` LIKE :username LIMIT 0 , :limit");
    $query->bindParam(':username', $username, PDO::PARAM_STR);
    $query->bindParam(':limit', $limit, PDO::PARAM_INT);
    $query->execute();
Run Code Online (Sandbox Code Playgroud)

然后我使用while循环以表格格式打印出数据库.

太棒了,这个问题是什么?

好吧,我的问题是我想完全反转返回的订单.

我尝试了ORDER BY,但由于我有一个WHERE,我不确切知道在哪里插入它.

任何帮助将非常感激.

sil*_*ire 6

要反转一个ORDER BY条款,请附加DESC到它.像这样:

$query = $dbh->prepare(sprintf('SELECT * FROM `mylogs`
                                WHERE `username`
                                LIKE ?
                                ORDER BY `username`
                                LIMIT %d', intval($limit)));
$query->execute(array($username));
Run Code Online (Sandbox Code Playgroud)

此外,在限制LIMIT X, Y在PDO 不能占位符.sprintf()相反,使用这种方式可以保证数字为整数.

增加:LIKE除非您确实需要通配符搜索,否则请勿使用关键字.