Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysql_data_seek pdo tương đương

Câu trả lời thông thường là:dữ liệu của bạn có tìm kiếm trực tiếp trong mảng PDOStatement::fetchAll không ... Nhưng nó SAI NẾU truy vấn tìm nạp nhiều dữ liệu (!).

Có 2 giải pháp thực tế,

1) nếu cơ sở dữ liệu cho phép, hãy sử dụng PDO::FETCH_ORI_ABS hoặc PDO::FETCH_ORI_REL , ví dụ,

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

(CHỈNH SỬA) Tuy nhiên, như nhận xét của @ChoiZ, có một giới hạn PDO-MySQL :"MySQL không hỗ trợ con trỏ "( bên ngoài chương trình được lưu trữ) "và trình điều khiển không thể mô phỏng chúng cho bạn" ... Hãy thử sau hoặc với các nhánh của MySQL, như MariaDB.

2) sử dụng giải pháp cơ sở dữ liệu (một loại phân trang). Ví dụ:

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. Cách regex trong truy vấn MySQL

  2. Khắc phục sự cố đăng nhập PHP SQL đơn giản

  3. Trả lại dữ liệu từ các hàng với ngày gần đây nhất của mỗi ứng cử viên riêng biệt

  4. Làm cách nào để bạn có được UTC của một Trường datetime?

  5. Có bắt buộc phải có `definer` khi tạo một thủ tục được lưu trữ không?