AFAIK is er geen mogelijkheid om de cursorpositie opnieuw in te stellen met PDO - dat kan te maken hebben met de compatibiliteit met sommige databases, die het resetten van interne cursors niet ondersteunen.
Als u de resultaten twee keer wilt herhalen, haalt u deze op in de array en herhaalt u deze array:
<?php
$results = $stmt->fetchAll();
foreach($results as $row) {
// first
}
foreach($results as $row) {
// second
}
Bewerken Sommige databases ondersteunen schuifbare cursors. Om dat te gebruiken, voegt u PDO::CURSOR_SCROLL
. toe markeren om prepare
methode (zie voorbeelden op PDOFetch-documentatiepagina
). Maar dat voegt alleen de mogelijkheid toe om vooruit of achteruit te gaan, niet helemaal terug. Ook ondersteunen niet alle databases dat type cursor (bijvoorbeeld MySQL niet).