(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
$stmt
[, int $row_number
= -1
] ) : arrayDevuelve 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