sql >> Database >  >> RDS >> Mysql

Reset cursorpositie in PDO

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).




  1. Hoe een identiteitskolom aan tabel toe te voegen door TSQL en GUI in SQL Server - SQL Server / T-SQL-zelfstudie, deel 40

  2. SQL Server:functies met tabelwaarde versus opgeslagen procedures

  3. Pivot gebruiken op meerdere kolommen van een Oracle-rij

  4. Tabel maken met het datumstempel