sql >> Database >  >> RDS >> Mysql

mysql_data_seek pdo-equivalent

Het gebruikelijke antwoord is:zoek uw gegevens rechtstreeks in de array PDOStatement::fetchAll ... Maar het is VERKEERD ALS de zoekopdracht veel gegevens ophaalt (!).

Er zijn 2 echte oplossingen,

1) als de database het toelaat, gebruik PDO::FETCH_ORI_ABS of PDO::FETCH_ORI_REL ,voorbeeld,

$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);

(EDIT) Maar, zoals opgemerkt door @ChoiZ, heb een PDO-MySQL-beperking :"MySQL ondersteunt geen cursors " (buiten opgeslagen programma's) "en het stuurprogramma kan ze niet voor u emuleren"... Probeer het later of met de vorken van MySQL, zoals MariaDB.

2) gebruik de database-oplossing (een soort paginering). Voorbeeld:

SELECT a, b FROM table LIMIT 1, 973 



  1. zoek naar meerdere trefwoorden met php en mysql (waar X leuk vindt)

  2. Wat is de meest eenvoudige manier om lege datums in sql-resultaten op te vullen (op mysql- of perl-uiteinde)?

  3. PHP mysql datumnotatie invoegen

  4. PostgreSQL 11 upgraden naar PostgreSQL 13 met TimescaleDB en PostGIS in Linux met pg_upgrade