(PECL ibm_db2 >= 1.0.0)
db2_fetch_assoc — Devolver un arreglo, indexado por el nombre de las columnas, representando una fila del bloque de resultados
Devuelve un arreglo, indexado por el nombre de las columnas, representando una fila del bloque de resultados.
stmt
Un recurso stmt
válido que contenga el bloque de resultados.
row_number
Solicita una fila específica, indexada a partir de uno, del bloque de resultados. Este parámetro provoca una advertencia de PHP si el bloque de resultados utiliza cursor de no-recorrido (sólo hacia adelante).
Devuelve un arreglo asociativo con los valores de las columnas indexados por
el nombre de las mismas, representando la fila siguiente o la fila solicitada
en el bloque de resultados. Devuelve false
si no hay más filas
en el resultado o si la fila solicitada por
row_number
no existe en el bloque de resultados.
Ejemplo #1 Iterando a través de un cursor de no-recorrido (sólo hacia adelante)
Si se llama a db2_fetch_assoc() sin un número específico de fila, la siguiente fila del bloque de resultados se devuelve automáticamente.
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_assoc($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>
El resultado del ejemplo sería:
0 Pook cat 3.20 5 Rickety Ride goat 9.70 2 Smarty horse 350.00
Ejemplo #2 Extrayendo filas específicas con db2_fetch_assoc() a partir de un cursor de recorrido
Si el bloque de resultados utiliza un cursor de recorrido, se puede llamar db2_fetch_assoc() con un número específico de fila. El siguiente ejemplo extrae todas las filas del resultado, comenzando con la segunda fila.
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
$i = $i + 2;
}
?>
El resultado del ejemplo sería:
0 Pook cat 3.20 5 Rickety Ride goat 9.70 2 Smarty horse 350.00