Maison >développement back-end >Problème PHP >Explication détaillée de la façon dont PHP exploite la base de données MySQL
Interroger deux tables de données MySQL et les calculer en PHP est une exigence courante. Cet article explique comment utiliser PHP pour se connecter à MySQL, interroger des tables de données, des requêtes entre tables et calculer des données.
La connexion à MySQL en PHP nécessite l'utilisation de l'extension mysqli ou PDO. Ici, nous utilisons l'extension mysqli, l'exemple de code est le suivant :
<?php $host = "localhost"; $username = "root"; $password = ""; $dbname = "test"; $conn = mysqli_connect($host, $username, $password, $dbname); if(!$conn){ die("Connection failed: " . mysqli_connect_error()); }
Vous devez utiliser l'instruction SELECT pour interroger la table de données. Tout d'abord, nous devons sélectionner les colonnes et les tables de données à interroger :
$sql = "SELECT id, name, age FROM users"; $result = mysqli_query($conn, $sql); if(mysqli_num_rows($result) > 0){ while($row = mysqli_fetch_assoc($result)){ echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>"; } }else{ echo "0 results"; }
Dans cet exemple, nous interrogeons les colonnes id, name et age dans la table de données des utilisateurs et générons les valeurs de ces colonnes.
La requête entre tables nécessite l'utilisation de l'instruction JOIN. Supposons que nous ayons deux tables de données, utilisateurs et commandes, et que nous devions maintenant interroger la quantité commandée par l'utilisateur.
Tout d'abord, nous devons utiliser le mot-clé LEFT JOIN pour joindre les deux tables de données ensemble :
$sql = "SELECT users.id, users.name, count(orders.id) as orders_count FROM users LEFT JOIN orders ON users.id = orders.user_id GROUP BY users.id, users.name"; $result = mysqli_query($conn, $sql);
Dans cet exemple, nous avons utilisé le mot-clé LEFT JOIN pour joindre les tables de données des utilisateurs et des commandes ensemble, et dans la clause ON, utilisez le colonne user_id pour connecter les deux tables de données.
Ensuite, nous utilisons la clause GROUP BY pour regrouper selon l'ID et le nom de l'utilisateur, et utilisons la fonction COUNT pour compter la quantité de la commande de l'utilisateur.
Le calcul des données nécessite l'utilisation de fonctions SQL. Ici, nous présentons quelques fonctions SQL couramment utilisées.
La fonction SUM peut calculer la somme de la colonne spécifiée :
SELECT SUM(price) FROM orders;
La fonction AVG peut calculer la moyenne de la colonne spécifiée :
SELECT AVG(price) FROM orders;
La fonction COUNT peut calculer le nombre de lignes de la colonne spécifiée :
SELECT COUNT(*) FROM orders;
La fonction MAX peut sélectionner la valeur maximale de la colonne spécifiée :
SELECT MAX(price) FROM orders;
La fonction MIN peut sélectionner la valeur minimale d'une colonne spécifiée :
SELECT MIN(price) FROM orders;
Maintenant, rassemblons ce qui précède pour construire un exemple complet :
<?php $host = "localhost"; $username = "root"; $password = ""; $dbname = "test"; $conn = mysqli_connect($host, $username, $password, $dbname); if(!$conn){ die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT users.id, users.name, count(orders.id) as orders_count FROM users LEFT JOIN orders ON users.id = orders.user_id GROUP BY users.id, users.name"; $result = mysqli_query($conn, $sql); if(mysqli_num_rows($result) > 0){ while($row = mysqli_fetch_assoc($result)){ echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Orders count: " . $row["orders_count"]. "
"; } }else{ echo "0 results"; } mysqli_close($conn); ?>
In Dans cet exemple complet, nous nous sommes d'abord connectés à MySQL, puis avons utilisé le mot-clé LEFT JOIN pour interroger les tables de données des utilisateurs et des commandes, et calculé la quantité commandée pour chaque utilisateur.
Enfin, nous avons fermé la connexion MySQL à l'aide de la fonction mysqli_close.
Résumé
Pour interroger deux tables de données MySQL et les calculer en PHP, vous devez utiliser l'extension mysqli ou PDO pour vous connecter à MySQL, utiliser les instructions SELECT et JOIN pour interroger les tables de données et utiliser SUM, AVG, COUNT, MAX et fonctions MIN pour calculer les données.
Il convient de noter qu'avant d'écrire une instruction de requête, nous devons clairement comprendre la relation entre les colonnes à interroger et la table de données, et éviter autant que possible d'utiliser des instructions de requête complexes. Dans le même temps, nous devons utiliser la fonction mysqli_real_escape_string pour filtrer les entrées de l'utilisateur afin d'éviter les attaques par injection SQL.
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!