Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

equivalente a pdo mysql_data_seek


A resposta usual é:seus dados buscam diretamente no array PDOStatement::fetchAll ... Mas é ERRADO SE a consulta buscar muitos dados (!).

Existem 2 soluções reais,

1) se o banco de dados permitir, use PDO::FETCH_ORI_ABS ou PDO::FETCH_ORI_REL ,exemplo,
$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);

(EDIT) Mas, como comentado por @ChoiZ, tem uma limitação PDO-MySQL :"O MySQL não suporta cursores " (fora programas armazenados) "e o driver não pode emulá-los para você"... Tente mais tarde ou com forks do MySQL, como MariaDB.

2) use a solução de banco de dados (uma espécie de paginação). Exemplo:
SELECT a, b FROM table LIMIT 1, 973