PHP Portal » PHP Handbuch » PDOStatement->nextRowset

Werbung

PDOStatement->nextRowset


(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->nextRowset Advances to the next rowset in a multi-rowset statement handle

Beschreibung

bool PDOStatement::nextRowset ( void )

Some database servers support stored procedures that return more than one rowset (also known as a result set). PDOStatement::nextRowset() enables you to access the second and subsequent rowsets associated with a PDOStatement object. Each rowset can have a different set of columns from the preceding rowset.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Fetching multiple rowsets returned from a stored procedure

The following example shows how to call a stored procedure, MULTIPLE_ROWSETS, that returns three rowsets. We use a do / while loop to loop over the PDOStatement::nextRowset() method, which returns false and terminates the loop when no more rowsets can be returned.

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$sql = 'CALL multiple_rowsets()'; $stmt = $conn->query($sql); $i = 1; do { $rowset = $stmt->fetch(PDO::FETCH_NUM); if ($rowset) { printResultSet($rowset, $i); } $i++; } while ($stmt->nextRowset()); function printResultSet(&$rowset, $i) { print "Result set $i:\n"; foreach ($rowset as $row) { foreach ($row as $col) { print $col . "\t"; } print "\n"; } print "\n"; }

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Result set 1:
apple    red
banana   yellow
Result set 2:
orange   orange    150
banana   yellow    175
Result set 3:
lime     green
apple    red
banana   yellow

Siehe auch