sql >> Databasteknik >  >> RDS >> Mysql

Återställ markörpositionen i PDO

AFAIK det finns ingen möjlighet att återställa markörens position med PDO - det kan ha att göra med kompatibilitet med vissa databaser, som inte stöder återställning av interna markörer.

Om du vill iterera två gånger över resultaten, hämta det till arrayen och iterera över denna array:

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

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

Redigera Vissa databaser stöder rullningsbara markörer. För att använda det, lägg till PDO::CURSOR_SCROLL flagga för att prepare metod (se exempel på PDOFetch-dokumentationssida ). Men det ger bara möjlighet att gå framåt eller bakåt, inte spola tillbaka helt. Dessutom stöder inte alla databaser den typen av markör (t.ex. MySQL gör det inte).




  1. mysql VAR MATCH MOT

  2. Hur man kommer åt Oracle DB i VirtualBox från värd (Windows)

  3. Subtrahera år från ett datum i PostgreSQL

  4. hur man hanterar anslutningar till dynamiskt skapade databaser