PDOStatement::nextRowset

(no version information, might be only in CVS)

PDOStatement::nextRowset --  Avance à la prochaine ligne de résultats d'un gestionnaire de lignes de résultats multiples

Description

bool PDOStatement::nextRowset ( void )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

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. Chaques lignes de résultats ont des jeux différents de colonnes depuis la ligne de résultats.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

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 parcourrir 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()
PDOStatement::execute()
PDOStatement::getColumnMeta()
PDOStatement::query()

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:54