Mysql 按降序ID排序PDO查询

Mysql 按降序ID排序PDO查询,mysql,pdo,Mysql,Pdo,我正在尝试从数据库中获取结果,我想显示从最后一个ID开始的信息,而不是第一个ID,这可能吗 $query = $db->prepare("SELECT * FROM grafica WHERE ID = :id"); $query->bindParam(':id', $id); $query->execute(); $result = $query->fetchAll(); foreach ($result as $row) { } 据推测,ID是唯一的,因此您的

我正在尝试从数据库中获取结果,我想显示从最后一个ID开始的信息,而不是第一个ID,这可能吗

$query = $db->prepare("SELECT * FROM grafica WHERE ID = :id");
$query->bindParam(':id', $id);
$query->execute();
$result = $query->fetchAll();

foreach ($result as $row) {


}

据推测,
ID
是唯一的,因此您的问题目前在发布的查询上下文中没有意义:查询将精确返回1行或0行,这取决于是否存在ID=:ID的行。如果要查看行列表(可能是按ID的升序或降序),请不要使用
ID=:ID
限制结果,并使用
orderby
子句:

$query = $db->prepare("SELECT * FROM grafica ORDER BY ASC");
# $query = $db->prepare("SELECT * FROM grafica ORDER BY DESC");  # for descending order
$query->execute();

请注意,现在不需要调用
bindParam

SELECT…ORDER BY id DESC,foo DESC
”我已将id=:id替换为仅id DESC。这是否安全?谢谢,在这有限的背景下,是的。SQL查询不会使用任何用户发送的输入创建,它将完全符合您(程序员)的预期。此SQL没有字符串插值,用户没有机会更改其意图。顺便说一句:使用事先准备好的语句是值得称赞的。有关安全方面的更多信息,特别是编辑。