首页 > 解决方案 > 如何使用 PDO 从最后一个 id 中选择前一个 id

问题描述

我想从最后一个 id 中选择前一个 id。我该怎么做?数据库是mysql。

例子:

身份证名称
1个
2个阿达斯
3 个广告
4 dsf -> 我要选这个
5 次

id 名称 ---------------------------------------|
1 个
2 阿达斯 |
3 条广告 |
4 dsf |
5 rew -> 如果我添加任何“名称”,我想选择这个
6 zxc

到目前为止,我尝试了以下几行:

$sql = $db->prepare("SELECT * FROM answerController ORDER BY id DESC LIMIT 2");
$sql->execute();
$data = $sql->fetch();

标签: mysqlsql-order-bylimit

解决方案


您需要为offset开始limit提供 。

SELECT * FROM answerController ORDER BY id DESC LIMIT 1, 2

https://dev.mysql.com/doc/refman/8.0/en/select.html

第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为0(不是1)

所以应该是:

$sql = $db->prepare("SELECT name FROM answerController ORDER BY id DESC LIMIT 1, 2");
$sql->execute();
$data = $sql->fetch(PDO::FETCH_ASSOC);
echo $data['name'];

推荐阅读