Exemple 1. Récupération de multiples lignes de résultats retournées par une procédure stockée
L'exemple suivant montre comment appeler une procédure stockée,
MULTIPLE_RESULTS, qui retourne trois lignes de résultats.
Nous utilisons une boucle do / while pour parcourir la méthode
PDOStatement::nextRowset(), qui
retourne FALSE et termine la boucle lorsque plus aucune ligne de résultats
ne peut être retournée.
<?php $sql = 'CALL multiple_rowsets()'; $stmt = $conn->query($sql); $i = 1; do { $rowset = $stmt->fetchAll(PDO::FETCH_NUM); if ($rowset) { printResultSet($rowset, $i); } $i++; } while ($stmt->nextRowset());
function printResultSet(&$rowset, $i) { print "Jeu de résultats $i:\n"; foreach ($rowset as $row) { foreach ($row as $col) { print $col . "\t"; } print "\n"; } print "\n"; } ?>
|
L'exemple ci-dessus va afficher :
Jeu de résultats 1:
apple red
banana yellow
Jeu de résultats 2:
orange orange 150
banana yellow 175
Jeu de résultats 3:
lime green
apple red
banana yellow |