Die übliche Antwort lautet:Suchen Sie Ihre Daten direkt im Array PDOStatement::fetchAll
... Aber es ist FALSCH, WENN die Abfrage viele Daten (!) liefert.
Es gibt 2 echte Lösungen,
1) Wenn die Datenbank es zulässt, verwenden Sie PDO::FETCH_ORI_ABS
oder PDO::FETCH_ORI_REL
,Beispiel,
$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);
(BEARBEITEN) Aber, wie von @ChoiZ kommentiert, haben Sie eine PDO-MySQL-Einschränkung :"MySQL unterstützt keine Cursor " (draußen gespeicherte Programme) "und der Treiber kann sie nicht für Sie emulieren"... Versuchen Sie es später oder mit MySQL-Forks, wie MariaDB.
2) Verwenden Sie die Datenbanklösung (eine Art Paginierung). Beispiel:
SELECT a, b FROM table LIMIT 1, 973