Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql_data_seek еквивалент на pdo

Обичайният отговор е:търсете ли вашите данни директно в масива PDOStatement::fetchAll ... Но е ГРЕШНО, АКО заявката извлича много данни (!).

Има 2 реални решения,

1) ако базата данни позволява, използвайте PDO::FETCH_ORI_ABS или PDO::FETCH_ORI_REL ,пример,

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

(РЕДАКТИРАНЕ) Но, както коментира @ChoiZ, има ограничение PDO-MySQL :"MySQL не поддържа курсори " (отвън съхранени програми) "и драйверът не може да ги емулира вместо вас"... Опитайте по-късно или с разклоненията на MySQL, като MariaDB.

2) използвайте решението на базата данни (вид пагинация). Пример:

SELECT a, b FROM table LIMIT 1, 973 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оператор за сравнение на MySQL, интервали

  2. Как да видите съдържанието на таблицата в Mysql Workbench GUI?

  3. 3 начина за „дехексиране“ на низ в MySQL

  4. как да изчистя/изтрия mysql innodb буферен пул?

  5. Многоезичен тип данни в MYSQL