我有这个查询:
$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();
然后,我使用 while 循环以表格格式打印出数据库。
太好了,有什么问题吗?
好吧,我的问题是我想完全颠倒返回的顺序。
我尝试了订购方式,但由于我有一个 WHERE 我不知道确切地插入它的位置。
任何帮助将不胜感激。
要反转ORDER BY
子句,请向其追加DESC
。喜欢这个:
$query = $dbh->prepare(sprintf('SELECT * FROM `mylogs`
WHERE `username`
LIKE ?
ORDER BY `username`
LIMIT %d', intval($limit)));
$query->execute(array($username));
此外,PDO中LIMIT X, Y
的限制不能是占位符。请改用sprintf()
,这样您就可以保证数字是整数。
补充:不要使用 LIKE
关键字,除非确实需要通配符搜索。