PDO::nextRowset() does not appear to be currently supported by the Firebird PDO driver. Unfortunate.
PDOStatement::nextRowset
(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
PDOStatement::nextRowset — Avance à la prochaine ligne de résultats d'un gestionnaire de lignes de résultats multiples
Description
Quelques bases de données supportent les procédures stockées qui retournent plus d'une ligne de résultats (aussi connu comme des jeux de résultats). PDOStatement::nextRowset() vous permet d'accéder à la seconde et suivantes lignes de résultats associées avec l'objet PDOStatement. Chaque ligne de résultats a des jeux différents de colonnes depuis la ligne de résultats.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
Exemples
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
Voir aussi
- PDOStatement::columnCount() - Retourne le nombre de colonnes dans le jeu de résultats
- PDOStatement::execute() - Exécute une requête préparée
- PDOStatement::getColumnMeta() - Retourne les métadonnées pour une colonne d'un jeu de résultats
- PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
