Maison développement back-end Problème PHP Focus sur les instructions de requête de base de données PHP

Focus sur les instructions de requête de base de données PHP

Apr 06, 2023 am 08:52 AM

PHP, en tant que langage de script côté serveur populaire, peut rassembler de nombreux types de données et bases de données différents. En particulier dans le développement d’applications Web, il est souvent nécessaire d’accéder à des bases de données pour récupérer et manipuler des données. Cet article se concentrera sur les instructions de requête de base de données PHP.

1. Qu'est-ce qu'une instruction de requête de base de données

Dans le processus d'exploitation de la base de données, nous avons souvent besoin d'obtenir des données de la base de données. Pour le moment, nous devons utiliser des instructions de requête. La requête de base de données (SQL Query) est un ensemble d'instructions permettant de récupérer des données à partir d'une base de données. SQL est l'abréviation de Structured Query Language, qui est un langage largement utilisé dans les systèmes de gestion de données relationnelles (SGBDR) pour accéder et exploiter des bases de données.

En PHP, nous pouvons utiliser différentes fonctionnalités pour accéder à différents types de bases de données. PHP prend en charge MySQL, PostgreSQL, Oracle et d'autres bases de données. Chaque base de données a des instructions de requête légèrement différentes, mais elles sont essentiellement implémentées en utilisant le langage SQL.

2. La structure de l'instruction de requête

Une instruction de requête simple contient généralement trois parties : SELECT, FROM et WHERE. Dans SELECT, précisez les colonnes à récupérer ; dans FROM, précisez le nom de la table ; dans la clause WHERE, précisez les conditions de recherche.

Voici la structure de base de l'instruction de requête :

SELECT colonne1, colonne2, ...
FROM table
WHERE condition ;

la colonne représente le nom de la colonne à récupérer et plusieurs noms de colonnes sont séparés par des virgules. Habituellement, * (astérisque) est utilisé à la place des noms de colonnes pour indiquer la sélection de toutes les colonnes.

table indique le nom de la table qui doit être exploitée.

condition est une option facultative qui spécifie les conditions et restrictions de récupération des enregistrements, en utilisant des opérateurs logiques (tels que AND, OR, etc.) pour se connecter.

Par exemple, l'exemple suivant récupère les enregistrements dans la table "users" où les champs nom d'utilisateur et email sont "admin" et le champ mot de passe est "123" :

SELECT nom d'utilisateur, email, mot de passe
FROM users
WHERE username = 'admin' AND password = '123';

Cependant, pour certaines exigences de requête plus complexes, la simple utilisation de SELECT, FROM et WHERE peut ne pas être en mesure de répondre aux exigences. Dans ce cas, vous devez utiliser des instructions de requête avancées telles que. comme instructions JOIN et sous-requêtes. Ceci sera abordé dans un chapitre ultérieur.

3. Traitement des résultats de la requête

Le résultat renvoyé par l'instruction de requête est généralement un tableau contenant plusieurs lignes, chaque ligne représentant l'enregistrement correspondant. Pour les développeurs d'applications PHP, une entrée de tableau est un tableau et le contenu de chaque cellule est un élément du tableau. Le traitement des résultats de la requête comprend trois parties :

  1. Exécuter la requête de base de données et obtenir l'ensemble de résultats.

Utilisez mysqli_query et PDO::query en PHP pour exécuter des instructions de requête et renvoyer des jeux de résultats. Par exemple :

$query = "SELECT username, email, password FROM users WHERE username = 'admin' AND password = '123'";
$result = mysqli_query($connection, $query);

  1. Traitement du résultat ensemble.

Utilisez mysqli_fetch_assoc, PDO::fetch et d'autres fonctions pour extraire les données de l'ensemble de résultats. Par exemple :

while ($row = mysqli_fetch_assoc($result)) {

echo "username: " . $row["username"] . " email: " . $row["email"] . " password: " . $row["password"];
Copier après la connexion

}

  1. libère l'ensemble de résultats.

En PHP, lorsque vous avez fini d'utiliser le jeu de résultats, vous devez utiliser la fonction mysqli_free_result ou PDOStatement::closeCursor pour libérer le jeu de résultats afin d'éviter le gaspillage de ressources. Par exemple :

mysqli_free_result($result);

4. Technologie de requête avancée

  1. JOIN

L'instruction JOIN peut joindre deux tables ou plus pour produire une nouvelle et grande table. Les instructions JOIN courantes incluent les jointures internes, les jointures externes (jointures gauche et droite), les auto-jointures, etc.

INNER JOIN : seuls les enregistrements qui remplissent les conditions dans les deux tables sont renvoyés. Autrement dit, lors de la connexion de deux tables, seules les mêmes valeurs dans les deux tables seront récupérées.

Par exemple :

SELECT commandes.OrderID, clients.CustomerName, commandes.OrderDate
FROM commandes
INNER JOIN clients
ON commandes.CustomerID=customers.CustomerID;

Cette requête renverra tous les clients dans la table des commandes (commandes ) L'ordre associé à la table (clients), où le symbole de jointure interne est JOIN ou INNER JOIN, et le mot clé ON spécifie les conditions de la clé primaire/clé étrangère du lien.

  1. Sous-requête

La sous-requête fait référence à l'intégration d'une requête SQL dans une autre instruction SQL. En règle générale, les sous-requêtes sont utilisées pour limiter le jeu de résultats de la requête principale. Les sous-requêtes peuvent être imbriquées dans plusieurs requêtes, appelées requêtes imbriquées.

Par exemple :

SELECT AVG(DISTINCT Price) FROM Products
WHERE ProductName IN (SELECT ProductName FROM Orders WHERE CustomerID=1);

Cette requête renverra le prix moyen de tous les produits commandés par le client avec l'ID 1, qui consiste en fait à utiliser la liste de sous-requêtes pour interroger tous les produits achetés par le client 1, puis à placer une fonction AVG à l'extérieur pour calculer la moyenne.

  1. UNION

L'instruction UNION combine les ensembles de résultats de deux ou plusieurs instructions SELECT (les résultats doivent avoir les mêmes champs, donc parfois ils sont déclarés à l'aide d'alias), supprimant les lignes en double dans l'ensemble de résultats. Le format de l'instruction UNION est le suivant :

SELECT nom_colonne(s) FROM table1
UNION
SELECT nom_colonne(s) FROM table2;

Par exemple :

SELECT ProductName FROM Products
UNION
SELECT ProductName FROM Suppliers
ORDER BY ProductName;

Cette requête renverra tous les noms de produits, y compris les résultats obtenus à partir de la requête des fournisseurs (Fournisseurs) et des produits (Produits), supprimera les doublons et triera par nom.

Résumé

Cet article vise à présenter les instructions de requête de base de données PHP, en se concentrant sur la structure des instructions de requête et les méthodes de traitement des résultats de requête, ainsi que les technologies de requête avancées couramment utilisées, notamment JOIN, les sous-requêtes et les instructions UNION. Une utilisation appropriée de ces technologies de requête avancées peut obtenir plus efficacement les données requises de la base de données.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Comment récupérer les données d'une base de données à l'aide de PHP? Comment récupérer les données d'une base de données à l'aide de PHP? Mar 20, 2025 pm 04:57 PM

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

L'article traite des fonctions MySQLI_Query () et MySQLI_Fetch_assoc () en PHP pour les interactions de la base de données MySQL. Il explique leurs rôles, leurs différences et fournit un exemple pratique de leur utilisation. L'argument principal se concentre sur les avantages de l'USIN

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

See all articles