Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Cursorposition im PDO zurücksetzen

AFAIK gibt es keine Möglichkeit, die Cursorposition mit PDO zurückzusetzen - das könnte etwas mit der Kompatibilität mit einigen Datenbanken zu tun haben, die das Zurücksetzen interner Cursor nicht unterstützen.

Wenn Sie zweimal über die Ergebnisse iterieren möchten, holen Sie es in das Array und iterieren Sie über dieses Array:

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

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

Bearbeiten Einige Datenbanken unterstützen scrollbare Cursor. Fügen Sie dazu PDO::CURSOR_SCROLL hinzu Flag zum prepare -Methode (siehe Beispiele auf der PDOFetch-Dokumentationsseite ). ). Aber das fügt nur die Möglichkeit hinzu, sich vorwärts oder rückwärts zu bewegen, nicht vollständig zurückzuspulen. Außerdem unterstützen nicht alle Datenbanken diesen Cursortyp (z. B. MySQL nicht).