PDOStatement::nextRowset
Manual de referencia de PHP PDO
PDOStatement::nextRowset — Avanza al siguiente conjunto de filas en un controlador de sentencia de múltiples conjuntos de filas (PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
Descripción
Sintaxis
bool PDOStatement::nextRowset ( void )
Algunos servicios de bases de datos admiten procedimientos almacenados que devuelven más de un conjunto de filas (también conocido como conjunto de resultados).
PDOStatement::nextRowset() le permite acceder al segundo y posteriores conjuntos de filas asociados con un objeto PDOStatement. Cada uno de estos conjuntos de filas puede tener un conjunto de columnas diferente.
Valores de retorno
Devuelve TRUE en caso de éxito, o FALSE en caso de error.
Ejemplos
Obtener múltiples conjuntos de filas devueltos por un procedimiento almacenado
El siguiente ejemplo muestra cómo llamar a un procedimiento almacenado que devuelve tres conjuntos de filas MULTIPLE_ROWSETS. Se utiliza un bucle do/while para llamar repetidamente al método PDOStatement::nextRowset() hasta que devuelva false cuando no haya más conjuntos de filas y finalice el bucle.
<?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 "Result set $i:\n";
foreach ($rowset as $row) {
foreach ($row as $col) {
print $col . "\t";
}
print "\n";
}
print "\n";
}
?>
Salida del ejemplo anterior:
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
Otras extensiones