Loop PHP MySQLi Fetch Array Función
La función de búsqueda de MySQLi se utiliza para acceder a los datos del servidor de la base de datos. Después de obtener los datos, también puede iterar sobre la consulta MySQLi.
En este artículo veremos el uso de la función mysqli_fetch_array() y la forma de iterar sobre los datos accedidos.
Esta extensión se introdujo con PHP versión 5.0.0, y el objetivo de su diseño es que funcione con MySQL versión 4.1.13 o superior. Estamos usando la versión 7.4.1 de PHP y phpMyAdmin en este tutorial.
Puede descargar XAMPP desde su sitio web oficial. (No tiene que instalar MySQL y PHP por separado si tiene XAMPP).
Iteración sobre la función mysqli_fetch_array()
mysqli_fetch_array() se usa para recuperar datos de la fila actual de la base de datos usando $result como primer parámetro, guardar la salida como un array asociativa, un array numérica o ambas (depende del segundo parámetro). En este momento, tenemos los siguientes datos en la base de datos de nuestros estudiantes.

Función mysqli_fetch_array() usando el modo MYSQLI_NUM
Escribamos el siguiente programa para leer datos de la base de datos de los estudiantes llamada db_students usando la función mysqli_fetch_array(). El siguiente código se conectará con la base de datos y mostrará el mensaje de falla si falla.
Después de una conexión exitosa con la base de datos, leerá los registros utilizando la función mysqli_query y los guardará en la variable $result. mysqli_fetch_array() tomará esa variable de resultado y MYSQLI_NUM (se comporta como la función mysqli_fetch_row()) como parámetro para mostrar la fila actual como un array numérica donde los índices van de 0 a n-1.
Código de ejemplo:
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_array($result,MYSQLI_NUM);
print_r($row)
?>
Producción:

Función mysqli_fetch_array() usando el modo MYSQLI_ASSOC
Aquí, la función mysqli_fetch_array() se comporta como mysqli_fetch_assoc() debido al parámetro MYSQLI_ASSOC, y los nombres de las columnas de la tabla se mostrarán como índices del array. Practique el siguiente código y observe la salida.
Código de ejemplo:
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
print_r($row)
?>
Producción:

Función mysqli_fetch_array() usando el modo MYSQLI_BOTH
El uso de la función mysqli_fetch_array() con el parámetro MYSQLI_BOTH almacenará los datos en un array a la que podemos acceder usando nombres de columna e índices de columna. Practique el siguiente código y vea el resultado.
Código de ejemplo:
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_array($result,MYSQLI_BOTH);
print_r($row)
?>
Producción:

Bucle sobre la función mysqli_fetch_array()
Usaremos el siguiente código para iterar sobre mysqli_query y comparar el resultado con los registros de la tabla de los estudiantes.
Tenga en cuenta que puede recorrer todos los modos de mysqli_fetch_array(), MYSQLI_ASSOC, MYSQLI_NUM y MYSQLI_BOTH. Debe pasarlo como parámetro mientras usa mysqli_fetch_array().
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "db_students";
$connection = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Database connection failed.";
}
$sql = "SELECT * FROM tb_students";
$result = mysqli_query($connection, $sql);
$std_num=0;
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
echo "Student Number ".$std_num."<br>";
echo "ID: ".$row['ID']."<br>";
echo "First Name: ".$row['FIRST_NAME']."<br>";
echo "Last Name: ".$row['LAST_NAME']."<br>";
echo "Age: ".$row['AGE']."<br>";
echo "<br><br>";
$std_num++;
}
?>
Producción:

Puede ver y comparar ID, FIRST_NAME, LAST_NAME, AGE con la siguiente tabla denominada tb_students.

Conclusión
La discusión anterior concluyó que la función mysqli_fetch_array() nos ayuda a recuperar datos de la base de datos.
Dependiendo de nuestras necesidades y requisitos, podemos usar su modo de salida, ya sea para acceder a los valores a través del índice de columna o los nombres de columna, o ambos. Luego, podemos repetir los resultados para ver cada registro de la tabla.
