Position actuelle: Accueil> Derniers articles> Utilisez fetch_all () pour obtenir les résultats de la requête de jointure à plusieurs tableaux

Utilisez fetch_all () pour obtenir les résultats de la requête de jointure à plusieurs tableaux

M66 2025-06-15

Dans PHP, la gestion des requêtes de base de données est une tâche très courante dans le développement quotidien. Lorsque nous avons besoin d'obtenir des données à partir de plusieurs tables, nous utilisons généralement une requête de jointure (jointure) multi-table. Après avoir exécuté la requête, comment obtenir facilement les résultats de la requête devient la clé. Cet article présentera comment utiliser la méthode fetch_all () pour obtenir les résultats de la requête de jointure multi-table et l'expliquez en conjonction avec l'exemple de code.

1. Introduction à la requête de connexion multi-table

La requête de jointure multi-table peut corréler les données dans plusieurs tables et les résultats de retour en fonction de conditions spécifiques. Par exemple, il y a deux utilisateurs et commandes de table. Nous voulons interroger tous les utilisateurs et leurs informations de commande correspondantes, et nous pouvons utiliser Join .

 SELECT users.id, users.name, orders.order_id, orders.amount 
FROM users 
JOIN orders ON users.id = orders.user_id;

2. Utilisez MySQLI en PHP pour effectuer une requête de connexion multiple

PHP fournit différentes façons de faire fonctionner la base de données MySQL. Ici, nous utilisons l'extension mysqli et utilisons la méthode fetch_all () pour obtenir tous les résultats.

1. Établir une connexion de base de données

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}
?>

2. Effectuer une requête de jointure à plusieurs tableaux

 <?php
$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("La requête a échoué: " . $mysqli->error);
}
?>

3. Utilisez fetch_all () pour obtenir le résultat

fetch_all () obtiendra toutes les lignes de l'ensemble des résultats en même temps et renverra un tableau bidimensionnel. Son type de retour par défaut est mysqli_num , c'est-à-dire les tableaux d'index. Nous pouvons également utiliser MySQLI_ASSOC pour obtenir le tableau associatif.

 <?php
$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "utilisateurID: " . $row['id'] . ",Nom: " . $row['name'] . ",CommandeID: " . $row['order_id'] . ",Montant: " . $row['amount'] . "<br>";
}
?>

4. Fermez la connexion

 <?php
$mysqli->close();
?>

3. Exemple de code complet

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}

$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("La requête a échoué: " . $mysqli->error);
}

$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "utilisateurID: " . $row['id'] . ",Nom: " . $row['name'] . ",CommandeID: " . $row['order_id'] . ",Montant: " . $row['amount'] . "<br>";
}

$mysqli->close();
?>

4. Résumé

  • La requête de jointure à plusieurs tableaux est un moyen efficace d'obtenir des données associées.

  • Utilisez MySQLI 's Query () pour exécuter la requête et utilisez fetch_all () pour obtenir tous les résultats à la fois, en simplifiant le traitement des données.

  • En définissant le paramètre de fetch_all () sur mysqli_assoc , vous pouvez facilement accéder aux données via le nom du champ.

J'espère que cet article peut vous aider à mieux comprendre et utiliser fetch_all () pour obtenir les résultats de la requête de jointure à plusieurs tableaux.