OUJOOD.COM
La fonction fetch_array() / mysqli_fetch_array() en PHP
PHP Version: 5+
La fonction fetch_array() / mysqli_fetch_array() est couramment utilisée en PHP pour récupérer les résultats d'une requête SQL effectuée sur une base de données.
Définition
La fonction fetch_array() / mysqli_fetch_array() permet de récupérer la ligne actuelle du résultat d'une requête sous forme de tableau associatif, numérique ou les deux à la fois.
Syntaxes
Voici les syntaxes pour les approches orientée objet et procédurale :
Orientée objet :
$result = $mysqli->query("SELECT column1, column2 FROM table");
$row = $result->fetch_array();
Procédurale :
$result = mysqli_query($conn, "SELECT column1, column2 FROM table");
$row = mysqli_fetch_array($result);
Valeurs Possibles et Paramètres
La fonction peut prendre un deuxième paramètre optionnel pour spécifier le type de tableau souhaité : MYSQLI_ASSOC (associatif), MYSQLI_NUM (numérique) ou MYSQLI_BOTH (par défaut, les deux).
Exemples Pratiques
Voici quelques exemples d'utilisation :
Exemple - Récupération Associative :
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
// Utilisation des valeurs comme $row['column1'], $row['column2']
}
Exemple - Récupération Numérique :
while ($row = $result->fetch_array(MYSQLI_NUM)) {
// Utilisation des valeurs comme $row[0], $row[1]
}
Exemple - Récupération Combinée :
while ($row = $result->fetch_array()) {
// Utilisation des valeurs comme $row[0], $row['column1']
}
Astuces et Conseils
- Évitez d'utiliser fetch_array() pour de grands ensembles de résultats, car cela peut entraîner une utilisation excessive de la mémoire.
- Préférez utiliser fetch_assoc() ou fetch_row() si vous n'avez besoin que d'un type spécifique de résultat.
- N'oubliez pas d'appeler fetch_array() à chaque itération pour parcourir les résultats.
Avec la fonction fetch_array() / mysqli_fetch_array(), vous pouvez efficacement récupérer et manipuler les résultats de vos requêtes SQL en PHP.
Exemples pratiques supplémentaires pour chaque approche, en utilisant la fonction `fetch_array()` / `mysqli_fetch_array()` en PHP
Exemple 1 **Orientée Objet :**
Ces exemples supplémentaires illustrent comment récupérer et afficher les données de la base de données en utilisant `fetch_array()` / `mysqli_fetch_array()` dans les approches orientée objet et procédurale.
Assurez-vous de remplacer les détails de connexion à la base de données (`localhost`, `utilisateur`, `motdepasse`, `ma_base_de_donnees`) par vos propres informations.
Exemple : 📋 Copier le code
<?php
// Connexion à la base de données
$mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_donnees");
// Vérification de la connexion
if ($mysqli->connect_error) {
die("La connexion a échoué : " . $mysqli->connect_error);
}
// Exécution de la requête
$query = "SELECT id, username, email FROM users";
$result = $mysqli->query($query);
// Récupération en tant que tableau associatif
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
echo "ID : " . $row['id'] . ", Username : " . $row['username'] . ", Email : " . $row['email'] . "
";
}
// Fermeture de la connexion
$mysqli->close();
?>
Exemple 2 **Procédurale :**
Exemple : 📋 Copier le code
<?php
// Connexion à la base de données
$conn = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_donnees");
// Vérification de la connexion
if (!$conn) {
die("La connexion a échoué : " . mysqli_connect_error());
}
// Exécution de la requête
$query = "SELECT id, username, email FROM users";
$result = mysqli_query($conn, $query);
// Récupération en tant que tableau numérique
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
echo "ID : " . $row[0] . ", Username : " . $row[1] . ", Email : " . $row[2] . "
";
}
// Fermeture de la connexion
mysqli_close($conn);
?>