Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zresetuj pozycję kursora w PDO

AFAIK nie ma możliwości zresetowania pozycji kursora za pomocą PDO - może to mieć związek z kompatybilnością z niektórymi bazami danych, które nie obsługują resetowania wewnętrznych kursorów.

Jeśli chcesz dwukrotnie iterować wyniki, pobierz je do tablicy i wykonaj iterację po tej tablicy:

<?php 
$results = $stmt->fetchAll();  
foreach($results as $row) {
    // first
}

foreach($results as $row) {
    // second
}

Edytuj Niektóre bazy danych obsługują kursory przewijalne. Aby tego użyć, dodaj PDO::CURSOR_SCROLL flaga do prepare metoda (patrz przykłady na stronie dokumentacji PDOFetch ). Ale to tylko dodaje możliwość poruszania się do przodu lub do tyłu, a nie do całkowitego przewijania do tyłu. Ponadto nie wszystkie bazy danych obsługują ten typ kursora (np. MySQL nie).




  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 Gdzie DateTime jest większy niż dzisiaj

  2. MySQL Dodaj unikalne ograniczenie

  3. Zapytanie SQL z MySQL

  4. Instalacja i praca z MySQL 5 w systemie Windows 7

  5. Skrypt wsadowy systemu Windows do tworzenia kopii zapasowych lokalnych baz danych MySQL i zachowywania tylko N najnowszych FOLDERÓW z plikami kopii zapasowej