PDOStatement::nextRowset – Weiter zum nächsten Rowset in einem Multi-Rowset-Anweisungshandle (PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
bool PDOStatement::nextRowset (void)
Einige Datenbankdienste unterstützen gespeicherte Prozeduren, die mehr als ein Rowset (auch Ergebnismenge genannt) zurückgeben.
Mit PDOStatement::nextRowset() können Sie in Verbindung mit einem PDOStatement-Objekt auf das zweite und die folgenden Rowsets zugreifen. Jeder oben stehende Zeilensatz kann einen anderen Spaltensatz haben.
Gibt TRUE bei Erfolg oder FALSE bei Fehler zurück.
Das folgende Beispiel zeigt, wie eine gespeicherte Prozedur aufgerufen wird, die MULTIPLE_ROWSETS für drei Rowsets zurückgibt. Verwenden Sie eine do/while-Schleife, um die PDOStatement::nextRowset()-Methode zu durchlaufen, wobei „false“ zurückgegeben wird und die Schleife beendet wird, wenn keine weiteren Rowsets zurückgegeben werden.
<?php$sql = 'CALL multiple_rowsets()';$stmt = $conn->query($sql);$i = 1;do { $rowset = $stmt->fetchAll(PDO::FETCH_NUM); $rowset) { printResultSet($rowset, $i); } $i++;} while ($stmt->nextRowset());function printResultSet(&$rowset, $i) { print "Ergebnismenge $i:n"; foreach ($rowset as $col) { print $col . "t"; } print "n" } print "n";}?>
Die obige Beispielausgabe:
Ergebnissatz 1:Apfelrot, Bananengelb, Ergebnissatz 2: Orange, Orange, 150, Bananengelb 175, Ergebnissatz 3: Limettengrün, Apfelrot, Bananengelb