Loop PHP MySQLi Fetch Array Función

Mehvish Ashiq 30 enero 2023
  1. Iteración sobre la función mysqli_fetch_array()
  2. Conclusión
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.

bucle función mysqli fetch array - datos

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 loop mysqli fetch array - obtener datos usando el modo mysqli_num

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 loop mysqli fetch array - obtener datos usando el modo mysqli_assoc

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:

loop función mysqli fetch array - obtener datos usando el modo mysqli_both

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:

bucle función mysqli fetch array - bucle

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

bucle función mysqli fetch array - datos

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.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - MySQL PHP