Boucle PHP MySQLi Fonction Fetch Array

Mehvish Ashiq 15 février 2024
  1. Itération sur la fonction mysqli_fetch_array()
  2. Conclusion
Boucle PHP MySQLi Fonction Fetch Array

La fonction de récupération de MySQLi est utilisée pour accéder aux données du serveur de base de données. Après avoir récupéré les données, vous pouvez également itérer sur la requête MySQLi.

Dans cet article, nous verrons l’utilisation de la fonction mysqli_fetch_array() et la façon d’itérer sur les données accédées.

Cette extension a été introduite avec PHP version 5.0.0, et l’objectif de sa conception est de fonctionner avec MySQL version 4.1.13 ou supérieure. Nous utilisons PHP version 7.4.1 et phpMyAdmin dans ce tutoriel.

Vous pouvez télécharger XAMPP depuis son site officiel. (Vous n’avez pas besoin d’installer MySQL et PHP séparément si vous avez XAMPP).

Itération sur la fonction mysqli_fetch_array()

mysqli_fetch_array() est utilisé pour récupérer les données de la ligne actuelle de la base de données en utilisant $result comme premier paramètre, enregistrer la sortie sous forme de tableau associatif, de tableau numérique ou les deux (selon le deuxième paramètre). À l’heure actuelle, nous avons les données suivantes dans la base de données de nos étudiants.

boucle mysqli fetch fonction de tableau - données

Fonction mysqli_fetch_array() utilisant le mode MYSQLI_NUM

Écrivons le programme suivant pour lire les données de la base de données des étudiants nommée db_students en utilisant la fonction mysqli_fetch_array(). Le code suivant se connectera à la base de données et affichera le message d’échec en cas d’échec.

Après une connexion réussie avec la base de données, il lira les enregistrements à l’aide de la fonction mysqli_query et les enregistrera dans la variable $result. mysqli_fetch_array() prendra cette variable de résultat et MYSQLI_NUM (elle se comporte comme la fonction mysqli_fetch_row()) comme paramètre pour afficher la ligne actuelle sous forme de tableau numérique où les index vont de 0 à n-1.

Exemple de code :

<?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)
?>

Production :

loop mysqli fetch array function - récupérer des données en utilisant le mode mysqli_num

Fonction mysqli_fetch_array() utilisant le mode MYSQLI_ASSOC

Ici, la fonction mysqli_fetch_array() se comporte comme la fonction mysqli_fetch_assoc() en raison du paramètre MYSQLI_ASSOC, et les noms des colonnes de la table seront affichés sous forme d’index de tableau. Pratiquez le code suivant et observez la sortie.

Exemple de code :

<?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)
?>

Production :

loop mysqli fetch array fonction - récupérer des données en utilisant le mode mysqli_assoc

Fonction mysqli_fetch_array() utilisant le mode MYSQLI_BOTH

L’utilisation de la fonction mysqli_fetch_array() avec le paramètre MYSQLI_BOTH stockera les données dans un tableau auquel nous pouvons accéder en utilisant les noms de colonne et les index de colonne. Pratiquez le code suivant et voyez le résultat.

Exemple de code :

<?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)
?>

Production :

loop mysqli fetch array function - récupérer des données en utilisant le mode mysqli_both

Boucle sur la fonction mysqli_fetch_array()

Nous allons utiliser le code suivant pour itérer sur mysqli_query et comparer la sortie avec les enregistrements de la table des étudiants.

Gardez à l’esprit que vous pouvez boucler tous les modes de mysqli_fetch_array(), MYSQLI_ASSOC, MYSQLI_NUM et MYSQLI_BOTH. Vous devez le passer en paramètre lors de l’utilisation de 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++;
    }
?>

Production :

boucle mysqli fetch fonction de tableau - boucle

Vous pouvez voir et comparer ID, FIRST_NAME, LAST_NAME, AGE avec le tableau suivant nommé tb_students.

boucle mysqli fetch fonction de tableau - données

Conclusion

La discussion ci-dessus a conclu que la fonction mysqli_fetch_array() nous aide à récupérer les données de la base de données.

Selon nos besoins et nos exigences, nous pouvons utiliser son mode de sortie, que ce soit pour accéder aux valeurs via l’index de colonne ou les noms de colonne, ou les deux. Ensuite, nous pouvons boucler les résultats pour voir chaque enregistrement de la table.

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

Article connexe - MySQL PHP