Comment écrire des instructions de requête dans une base de données PHP

PHPz
Libérer: 2023-03-29 13:33:48
original
751 Les gens l'ont consulté

Dans le processus de développement d'applications Web, la gestion des bases de données est inévitable. En tant que langage de programmation à usage général, PHP a également la capacité d'interagir avec les bases de données. Les développeurs peuvent l'utiliser pour effectuer différents types d'opérations de requête de base de données. Cependant, il n’est pas facile pour les débutants d’utiliser correctement PHP pour interagir avec les bases de données. Cet article vise à vous présenter comment écrire correctement des instructions de requête de base de données PHP.

1. Connectez-vous à la base de données en PHP

Avant d'effectuer une requête de base de données en PHP, nous devons d'abord établir une connexion avec la base de données. Vous pouvez utiliser le propre PDO (PHP Data Object) de PHP pour vous connecter à la base de données. L'utilisation de PDO pour se connecter à la base de données présente les avantages suivants :

  1. Multiplateforme : PDO prend en charge de nombreuses bases de données différentes, qui peuvent s'exécuter dans différents systèmes d'exploitation.
  2. Prévenir l'injection SQL : PDO traite automatiquement les données saisies par l'utilisateur pour empêcher les attaques par injection SQL.

Ci-dessous, nous utiliserons la base de données MySQL comme exemple pour présenter comment utiliser PDO pour se connecter à la base de données.

  • Créer une connexion à la base de données

Pour utiliser PDO pour vous connecter à la base de données, nous devons fournir des informations telles que le type de base de données, le nom d'hôte, le port, le nom de la base de données, le nom d'utilisateur et le mot de passe. Voici un exemple de création d'une connexion :

try {
    $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database', 'my_username', 'my_password');
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
Copier après la connexion

Si la connexion réussit, l'objet $pdo représentera une connexion à l'instance de base de données MySQL, sinon une exception sera levée.

  • Exécuter une requête SQL

Après la connexion à la base de données, nous pouvons commencer à exécuter des requêtes SQL. PDO fournit une méthode pour exécuter des requêtes SQL (vous pouvez également effectuer des opérations de mise à jour et de suppression SQL) : exec(). Cette méthode reçoit une instruction SQL en paramètre et renvoie une valeur entière indiquant le nombre de lignes affectées ou l'échec d'exécution. Par exemple, nous pouvons utiliser le code suivant pour créer une table nommée "users" :

$sql = 'CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)';

if ($pdo->exec($sql) !== false) {
    echo "Table users created successfully";
} else {
    echo "Error creating table: " . $pdo->errorInfo()[2];
}
Copier après la connexion
  • Interrogation de données

L'interrogation de données est l'opération la plus couramment utilisée en PHP et en interaction avec une base de données. Nous pouvons utiliser PDO pour exécuter des instructions SELECT afin d'interroger des données. Voici un exemple d'interrogation de données :

$sql = "SELECT * FROM users WHERE id = ? OR email = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$id, $email]);

$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!empty($results)) {
    foreach ($results as $row) {
        echo $row['id'] . "\t" . $row['firstname'] . "\t" . $row['lastname'] . "\t" . $row['email'] . "\n";
    }
} else {
    echo "No results found";
}
Copier après la connexion

Notez que nous utilisons la méthode prepare() de PDO pour prétraiter l'instruction SQL et lier les paramètres de la requête à des espaces réservés. Lors de l'exécution d'une instruction de requête SQL, utilisez la méthodeexecute() pour transmettre des paramètres et effectuer des opérations de requête. Enfin, utilisez la méthode fetchAll() pour obtenir les résultats de la requête. La méthode fetchAll() renvoie un tableau, chaque élément représentant une ligne de données à partir des résultats de la requête.

2. Instructions de requête SQL courantes

L'utilisation d'instructions de requête SQL en PHP pour interagir avec la base de données est une opération courante. Voici les instructions de requête courantes.

  • SELECT

L'instruction SELECT est utilisée pour sélectionner et récupérer les données d'une ou plusieurs tables. La syntaxe est la suivante :

SELECT column1, column2, ... FROM table_name WHERE condition(s);
Copier après la connexion

Parmi elles, column1, column2 sont les noms des colonnes à récupérer, table_name est le nom de la table source de données à récupérer, et les conditions après le mot clé WHERE précisent les conditions de filtrage données. Voici un exemple simple :

SELECT * FROM users;
Copier après la connexion

Le code ci-dessus récupérera toutes les données de la table "users". L'instruction

  • UPDATE

UPDATE est utilisée pour mettre à jour les données d'une table existante. La syntaxe est la suivante :

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Copier après la connexion

où valeur1, valeur2 sont les valeurs à mettre à jour, et condition précise la condition de la ligne à mettre à jour. Voici un exemple simple :

UPDATE users SET firstname='John', lastname='Doe' WHERE email='john.doe@example.com';
Copier après la connexion

Le code ci-dessus mettra à jour les données qualificatives dans la table "users". L'instruction

  • DELETE

DELETE est utilisée pour supprimer des données dans une table existante. La syntaxe est la suivante :

DELETE FROM table_name WHERE condition;
Copier après la connexion

où condition précise la condition des lignes à supprimer. Voici un exemple simple :

DELETE FROM users WHERE email='john.doe@example.com';
Copier après la connexion

Le code ci-dessus supprimera les lignes éligibles de la table "utilisateurs".

  • INSERT INTO

L'instruction INSERT INTO est utilisée pour insérer de nouvelles données dans une table existante. La syntaxe est la suivante :

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Copier après la connexion

où valeur1, valeur2, valeur3 sont les valeurs à insérer. Voici un exemple simple :

INSERT INTO users (firstname, lastname, email) VALUES ('John', 'Doe', 'john.doe@example.com');
Copier après la connexion

Le code ci-dessus insérera une nouvelle ligne dans la table "users".

3. Résumé

Dans cet article, nous avons présenté l'utilisation de PDO pour se connecter à la base de données et aux instructions de requête SQL courantes, dans l'espoir d'aider les lecteurs à mieux comprendre et maîtriser l'interaction entre PHP et la base de données.

Lorsque vous effectuez des opérations de requête de base de données, vous devez faire attention aux points suivants :

  1. Utilisez le prétraitement PDO et liez autant que possible les variables pour éviter les attaques par injection SQL.
  2. Évitez d'utiliser SELECT * et essayez de spécifier manuellement le nom de la colonne à interroger.
  3. En PHP, avant d'utiliser des fonctions de vérification (telles que isset() et empty()) pour vérifier une variable, assurez-vous d'abord de vérifier si la variable existe.

J'espère que ces informations pourront vous aider à mieux utiliser PHP pour interagir avec les bases de données et créer des applications Web plus facilement.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal