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
$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";
}
?>
The above example will output:
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