(PECL ibm_db2 >= 1.0.0)
db2_fetch_both — Devuelve un array, indexado por nombre de columna y posición, que representa una fila del conjunto de resultados
Devuelve un array, indexado por nombre de columna y posición, que representa una fila del conjunto de resultados. Tenga en cuenta que la fila devuelta por db2_fetch_both() requiere más memoria que los arrays simplemente indexados devueltos por db2_fetch_assoc() o db2_fetch_array().
stmtstmt válido que contiene el conjunto de
resultados.
row_number
Devuelve un array asociativo con los valores de las columnas indexados por
el nombre de las columnas y el número de las columnas comenzando por 0. El array
representa la siguiente fila o la fila solicitada del conjunto de resultados.
Devuelve false si no hay una fila disponible en el conjunto de
resultados o si la fila solicitada por row_number
no existe en el conjunto de resultados.
Ejemplo #1 Iteración con un cursor de avance solo
Si se llama a db2_fetch_both() sin el número de una fila específica, se recuperará automáticamente la siguiente fila del conjunto de resultados. El siguiente ejemplo accede a las columnas devueltas en el array mediante el método de nombres de columna y por índice numérico.
<?php
$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_both($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row[0], $row['RACE'], $row[3]);
}
?>El ejemplo anterior mostrará:
0 Pook chat 3.20 5 Rickety Ride chèvre 9.70 2 Smarty cheval 350.00
Ejemplo #2 Recuperación de filas específicas con db2_fetch_both() a partir de un cursor flotante
Si su conjunto de resultados utiliza un cursor flotante, puede llamar a la función db2_fetch_assoc() con un número de fila específico. El siguiente ejemplo recupera cada fila par en el conjunto de resultados, comenzando con la segunda fila.
<?php
$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
$i=2;
while ($row = db2_fetch_both($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row['NOM'], $row[2], $row['POIDS']);
$i = $i + 2;
}
?>El ejemplo anterior mostrará:
0 Pook chat 3.20 5 Rickety Ride chèvre 9.70 2 Smarty cheval 350.00