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.