Obvyklá odpověď zní:vyhledávají vaše data přímo v poli PDOStatement::fetchAll
... Ale je to ŠPATNĚ, POKUD dotaz načte hodně dat (!).
Existují 2 skutečná řešení,
1) pokud to databáze umožňuje, použijte PDO::FETCH_ORI_ABS
nebo PDO::FETCH_ORI_REL
,příklad
$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);
(EDIT) Ale, jak uvedl @ChoiZ, mají omezení PDO-MySQL :"MySQL nepodporuje kurzory “ (venku uložené programy) "a ovladač je za vás nemůže emulovat"... Zkuste to později nebo pomocí forků MySQL, jako je MariaDB.
2) použít databázové řešení (druh stránkování). Příklad:
SELECT a, b FROM table LIMIT 1, 973