Maison  >  Article  >  développement back-end  >  Comment se connecter à une base de données en PHP à l'aide de PDO

Comment se connecter à une base de données en PHP à l'aide de PDO

王林
王林original
2023-05-17 08:15:053420parcourir

PHP est un langage de script côté serveur populaire dont l'objectif principal est de développer des applications Web. Les connexions à une base de données sont une partie importante des applications Web, c'est pourquoi dans cet article, nous présenterons comment se connecter à une base de données à l'aide de PHP Data Objects (PDO). PDO est une couche d'abstraction en PHP qui fournit un moyen simple, sûr et rapide d'interagir avec une variété de bases de données. Dans cet article, nous utiliserons MySQL comme exemple.

  1. Préparation

Avant d'utiliser PDO pour vous connecter à la base de données, vous devez vous assurer que l'extension PDO est installée dans votre PHP et que l'extension est activée. Sinon, vous devez ajouter l'extension PDO à votre fichier de configuration PHP (php.ini). Vous pouvez déterminer si vous avez activé l'extension PDO à l'aide de la commande suivante :

php -m | grep pdo

Si vous voyez PDO et PDO_MYSQL affichés dans la liste, alors vous êtes prêt à utiliser PDO pour vous connecter à votre base de données MySQL.

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

La première étape pour vous connecter à la base de données MySQL consiste à créer un objet PDO. Afin de créer un objet PDO, vous devez fournir les informations suivantes :

  • Data Source Name (DSN) : Indique le type et l'emplacement de la base de données à laquelle vous souhaitez vous connecter.
  • Nom d'utilisateur et mot de passe : Le compte utilisateur utilisé pour authentifier la base de données connectée.

Ce qui suit est un exemple de code PDO pour se connecter à une base de données MySQL :

<?php
$hostname = 'localhost'; // MySQL主机名
$database = 'mydatabase'; // 数据库名称
$username = 'myusername'; // 用户名
$password = 'mypassword'; // 密码

try {
    $dsn = "mysql:host=$hostname;dbname=$database";
    $pdo = new PDO($dsn, $username, $password);
    echo '成功连接到数据库!';
} catch (PDOException $exception) {
    die('连接数据库时发生错误:'.$exception->getMessage());
}

Dans le code ci-dessus, nous utilisons la variable $dsn pour stocker le DSN de connexion à la base de données MySQL. Le format de ce DSN est "mysql:host=host name;dbname=database name". Transmettez ce DSN au constructeur PDO pour créer un objet PDO. Si la connexion réussit, le texte « Connexion réussie à la base de données ! » sera affiché. Si une erreur se produit, l’utilisation du bloc catch affichera le message d’erreur.

  1. Requête de base de données MySQL

Après vous être connecté à une base de données MySQL, vous pouvez effectuer diverses requêtes pour récupérer des données et mettre à jour la base de données. Voici quelques exemples d'utilisation de PDO pour exécuter des requêtes MySQL en PHP :

  • Données de requête :
$sql = "SELECT * FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => 1]);
$result = $stmt->fetchAll();
print_r($result);

Dans l'exemple ci-dessus, nous avons utilisé la méthode de préparation de PDO pour préparer l'instruction de requête. Remplacez la partie qui doit être modifiée dans l'instruction de requête (c'est-à-dire ":id" dans "id = :id") par des espaces réservés. Nous utilisons la méthode d'exécution pour exécuter l'instruction de requête et lui transmettre la valeur d'espace réservé à interroger. Enfin, les résultats sont renvoyés sous forme de tableau à l’aide de la méthode fetchAll.

  • Insérer des données :
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['John Doe', 'johndoe@example.com']);
echo $stmt->rowCount() . ' 行数据已添加到数据库';

Dans l'exemple ci-dessus, nous utilisons la méthode prepare de PDO pour préparer l'instruction de requête. Les espaces réservés dans les instructions de requête sont remplacés par "?" Nous utilisons la méthode d'exécution pour exécuter l'instruction de requête et lui transmettre la valeur d'espace réservé à insérer. Enfin, utilisez la méthode rowCount pour obtenir le nombre d'enregistrements insérés.

  • Mettre à jour les données :
$sql = "UPDATE users SET name = ? WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute(['Jane Doe', 1]);
echo $stmt->rowCount() . ' 行数据已更新';

Dans l'exemple ci-dessus, nous utilisons la méthode prepare de PDO pour préparer l'instruction de requête. Les espaces réservés dans les instructions de requête sont remplacés par "?" Nous utilisons la méthode d'exécution pour exécuter l'instruction de requête et lui transmettre la valeur d'espace réservé à mettre à jour. Enfin, utilisez la méthode rowCount pour obtenir le nombre d'enregistrements mis à jour.

  • Supprimer les données :
$sql = "DELETE FROM users WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([1]);
echo $stmt->rowCount() . ' 行数据已删除';

Dans l'exemple ci-dessus, nous utilisons la méthode prepare de PDO pour préparer l'instruction de requête. Les espaces réservés dans les instructions de requête sont remplacés par "?" Nous utilisons la méthode d'exécution pour exécuter l'instruction de requête et lui transmettre la valeur d'espace réservé à supprimer. Enfin, utilisez la méthode rowCount pour obtenir le nombre d'enregistrements supprimés.

  1. Fermez la connexion à la base de données

Après avoir terminé l'opération de requête sur la base de données, il est préférable de fermer la connexion à la base de données. Cela évite le maintien de connexions inutiles pour le reste de l'exécution du script et réduit la consommation de ressources sur le serveur de base de données pendant les périodes de charge élevée. Lorsque vous utilisez PDO pour vous connecter à une base de données MySQL en PHP, vous pouvez utiliser le code suivant pour fermer la connexion :

$pdo = null;

Dans le code ci-dessus, $pdo est l'objet PDO que nous avons créé lors de la connexion à la base de données MySQL. Lorsque l'objet pdo est fermé, l'objet pdo est détruit et la connexion à la base de données est libérée afin que de nouvelles connexions à la base de données puissent être établies avec d'autres clients.

Résumé

L'utilisation d'objets de données PHP (PDO) pour se connecter à la base de données MySQL nous permet d'effectuer plus facilement et plus rapidement les opérations de base de données. Dans cet article, nous avons présenté les méthodes de base d'utilisation des objets PDO pour les connexions et les requêtes de base de données. Si vous souhaitez comprendre plus de détails et les fonctionnalités avancées de PDO, vous pouvez vous référer à la documentation officielle de PHP et augmenter votre expérience grâce à une pratique continue.

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:
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