这个问题已经在这里有了答案 :
是否可以倒带PDO结果? (5个答案)
7年前关闭。
相当于使用pdo对象的mysql_data_seek?能给我举个例子?
谢谢!
通常的答案是:您的数据直接在数组中查找PDOStatement::fetchAll吗…但是如果查询获取大量数据(!),这是错误的。
PDOStatement::fetchAll
有2种实际的解决方案,
1) 如果数据库允许使用 PDO::FETCH_ORI_ABS或PDO::FETCH_ORI_REL,例如,
PDO::FETCH_ORI_ABS
PDO::FETCH_ORI_REL
$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);
(编辑)但是,正如@ChoiZ所评论的那样,有一个PDO- MySQL限制:“ MySQL不支持游标 ”( 外部 存储程序)“并且驱动程序无法为您模拟它们” …稍后再试,或者使用MySQL的fork,像MariaDB。
2) 使用数据库解决方案(一种分页)。例:
SELECT a, b FROM table LIMIT 1, 973