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.
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 :
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 :
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 :
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 :
Vous pouvez voir et comparer ID
, FIRST_NAME
, LAST_NAME
, AGE
avec le tableau suivant nommé tb_students
.
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.