sql >> Databáze >  >> RDS >> Mysql

ekvivalent mysql_data_seek pdo

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 



  1. Klauzule MySQL Multiple Where

  2. Pochopení granularity zámků v MySQL

  3. Jak získat den v roce z data v PostgreSQL

  4. Syntaxe SQL SELECT – řazeno podle DBMS