db2_fetch_both

(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

Descripción

db2_fetch_both(resource $stmt, int $row_number = -1): array|false

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().

Parámetros

stmt

Un recurso stmt válido que contiene el conjunto de resultados.

row_number

Solicita una fila específica indexada numéricamente que comienza con el valor 1 en el conjunto de resultados. Al proporcionar este argumento, se generará una alerta PHP si el conjunto de resultados utiliza un cursor de avance solo.

Valores devueltos

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.

Ejemplos

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 resultado del ejemplo sería:

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 resultado del ejemplo sería:

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Ver también

  • db2_fetch_array() - Devuelve un array, indexado por la posición de las columnas, que representa una línea del conjunto de resultados
  • db2_fetch_assoc() - Devuelve un array, indexado por nombre de columna, que representa una fila del conjunto de resultados
  • db2_fetch_object() - Devuelve un objeto con las propiedades que representan columnas en la fila extraída
  • db2_fetch_row() - Modifica el puntero del conjunto de resultados a la siguiente línea o a la línea solicitada
  • db2_result() - Devuelve un valor de una columna de una fila de un conjunto de resultados