sql >> Database teknologi >  >> RDS >> Mysql

mysql_data_seek pdo tilsvarende

Det sædvanlige svar er:søger dine data direkte i arrayet PDOStatement::fetchAll ... Men det er FORKERT, HVIS forespørgslen henter en masse data (!).

Der er 2 rigtige løsninger,

1) hvis databasen tillader brug PDO::FETCH_ORI_ABS eller PDO::FETCH_ORI_REL ,eksempel,

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

(EDIT) Men, som kommenteret af @ChoiZ, har en PDO-MySQL-begrænsning :"MySQL understøtter ikke cursors " (udenfor gemte programmer) "og driveren kan ikke emulere dem for dig"... Prøv senere eller med MySQL's gafler, som MariaDB.

2) bruge databaseløsningen (en slags paginering). Eksempel:

SELECT a, b FROM table LIMIT 1, 973 



  1. hvordan man finder første og sidste post fra mysql-tabel

  2. Skabelonmønstre og modifikatorer til formatering af dato/klokkeslæt i PostgreSQL

  3. SQL:Hent produkter fra en kategori, men skal også være i et andet sæt kategorier

  4. Rækkefølge for udførelse af betingelse i MySQL