Lors du développement d'un site Web, il est parfois nécessaire de combiner plusieurs tables pour interroger et obtenir les données requises. En PHP, vous pouvez utiliser des instructions de requête union pour réaliser cette fonction. Cet article explique comment utiliser PHP pour interroger conjointement trois tables.
Supposons que nous ayons trois tables : utilisateurs, commandes et order_items. Parmi eux, la table des utilisateurs enregistre les informations sur les utilisateurs, la table des commandes enregistre les informations sur les commandes et la table order_items enregistre les informations sur les articles de commande. Nous devons maintenant interroger toutes les commandes de chaque utilisateur, ainsi que tous les éléments de campagne de chaque commande. Ceci peut être réalisé en utilisant l'instruction de requête conjointe suivante :
$sql = "SELECT u.name, o.order_number, i.product_name, i.price FROM users u JOIN orders o ON u.id = o.user_id JOIN order_items i ON o.id = i.order_id WHERE u.id = ?";
Cette instruction connecte d'abord la table des utilisateurs, la table des commandes et la table order_items via le mot-clé JOIN, puis filtre les informations de l'utilisateur spécifié via la clause WHERE. Parmi eux, le mot-clé JOIN est utilisé pour joindre des tables et le mot-clé ON est utilisé pour spécifier les conditions de connexion.
Dans la requête ci-dessus, nous devons interroger toutes les commandes de chaque utilisateur et tous les éléments de campagne de chaque commande. Par conséquent, nous devons utiliser le mot-clé JOIN pour connecter la table des utilisateurs, la table des commandes et la table order_items. Il existe trois méthodes de connexion :
Dans cet exemple, nous avons utilisé INNER JOIN car nous voulons uniquement renvoyer les lignes qui correspondent.
Ensuite, nous devons préciser les conditions de connexion. Ici, nous utilisons l'ID utilisateur (users.id) pour associer à l'ID utilisateur de la commande (orders.user_id) et l'ID de commande (orders.id) pour associer l'ID de commande de l'article de commande (order_items.order_id).
Enfin, nous utilisons la clause WHERE pour filtrer les informations de l'utilisateur spécifié. Ici, nous utilisons l'espace réservé ? Avant d'exécuter la requête, vous devez utiliser la méthode bindParam() ou bindValue() pour lier les paramètres réels à l'espace réservé.
Pour résumer, il s'agit d'une instruction PHP relativement simple pour interroger conjointement trois tables. La requête Union est une méthode de requête très flexible et puissante, qui doit être utilisée de manière flexible en fonction des besoins réels du développement réel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!