通常の答えは次のとおりです。データは配列PDOStatement::fetchAll
で直接シークしますか ...しかし、クエリが大量のデータをフェッチする場合は間違っています(!)。
2つの実際の解決策があります
1) データベースでPDO::FETCH_ORI_ABS
の使用が許可されている場合 またはPDO::FETCH_ORI_REL
、例、
$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);
(編集)ただし、@ ChoiZがコメントしているように、PDO-MySQLの制限 があります。 :「MySQLはカーソル をサポートしていません "(外部 保存されたプログラム)「ドライバーはそれらをエミュレートできません」...後で、またはMariaDBなどのMySQLのフォークを使用して試してください。
2) データベースソリューション(一種のページ付け)を使用します。例:
SELECT a, b FROM table LIMIT 1, 973