(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_array -- mysqli_fetch_array — Obtiene la siguiente fila de un conjunto de resultados como un array asociativo, numérico o ambos
Estilo orientado a objetos
Estilo por procedimientos
Devuelve una fila de datos del conjunto de resultados y la retorna como un array.
Cada llamada posterior a esta función retornará la siguiente fila en el conjunto de resultados,
o null
si no hay más filas.
Además de almacenar los datos como un array con índices numéricos, también puede almacenarlos en un array asociativo, utilizando los nombres de los campos como claves.
Si dos o más columnas del resultado tienen el mismo nombre, la última columna tendrá prioridad y sobrescribirá todos los datos anteriores. Para acceder a las otras columnas con el mismo nombre, se debe utilizar el índice numérico o crear un alias para cada columna.
Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.
Nota: Esta función define campos NULOS al valor
null
de PHP.
result
Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().
mode
El segundo argumento opcional es una constante que indica qué
tipo de array debe ser retornado a partir de la fila de datos
actual. Los valores posibles para este parámetro son las constantes
MYSQLI_ASSOC
, MYSQLI_NUM
,
y MYSQLI_BOTH
.
Al utilizar la constante MYSQLI_ASSOC
, esta función
se comportará como la función mysqli_fetch_assoc(),
mientras que MYSQLI_NUM
hará que actúe como la función
mysqli_fetch_row(). La constante
MYSQLI_BOTH
creará un array que será tanto
asociativo como indexado numéricamente.
Retorna un array que representa la fila recuperada,
null
si no hay más filas en el conjunto de resultados, o false
en caso de error.
Ejemplo #1 Ejemplo de mysqli_result::fetch_array()
Estilo orientado a objetos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3";
$result = $mysqli->query($query);
/* Array numérico */
$row = $result->fetch_array(MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);
/* Array asociativo */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* Array asociativo y numérico */
$row = $result->fetch_array(MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);
Estilo por procedimientos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($mysqli, $query);
/* Array numérico */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);
/* Array asociativo */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* Array asociativo y numérico */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);
El resultado de los ejemplos sería algo similar a:
Kabul (AFG) Qandahar (AFG) Herat (AFG)