0Pricing
PHP Academy · Leçon

Manipuler PDO

Utilisez les objets de données PHP (PDO) pour interagir avec les bases de données

Manipuler PDO est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 6 sur 6. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 6 leçons au total.

Présentation de PDO

Travailler avec PDO

Bienvenue dans la prochaine leçon ! Dans cette leçon, vous apprendrez à utiliser PDO (objets de données PHP) pour interagir avec une base de données. PDO est une méthode flexible et sûre pour se connecter aux bases de données et les utiliser. Plongeons dans le sujet !

Manipuler PDO — illustration 1

Qu'est-ce que PDO ?

Qu'est-ce que PDO ?

PDO (objets de données PHP) est une couche d'accès aux bases de données qui fournit une interface uniforme pour travailler avec différents systèmes de bases de données. Elle prend en charge diverses bases de données comme MySQL, PostgreSQL, SQLite et bien d'autres.

Fonctionnalités principales :

  • Indépendance vis-à-vis des bases de données (fonctionne avec plusieurs types de bases de données).
  • Prise en charge intégrée des requêtes préparées.
  • Options avancées de gestion des erreurs.

Astuce : PDO est un excellent choix pour créer des applications web sûres et évolutives.

Se connecter à une base de données avec PDO

Se connecter à une base de données avec PDO

Pour vous connecter à une base de données à l'aide de PDO, vous avez besoin des éléments suivants :

  • Le nom de source de données (DSN), qui comprend le type, l'hôte et le nom de la base de données.
  • Un nom d'utilisateur et un mot de passe valides.

Exemple :

Astuce : Utilisez des variables d'environnement ou des fichiers de configuration pour les identifiants sensibles.

<?php
  $dsn = "mysql:host=localhost;dbname=testdb";
  $username = "root";
  $password = "";

  try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully!";
  } catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>

Exécuter des requêtes

Exécuter des requêtes

PDO fournit deux méthodes principales pour exécuter des requêtes :

  • exec() : Pour les instructions qui ne renvoient pas de résultats (par exemple, INSERT, UPDATE).
  • query() : Pour les instructions qui renvoient des résultats (par exemple, SELECT).

Exemple :

<?php
  // Insert a record
  $pdo->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@mail.com')");

  // Retrieve records
  $stmt = $pdo->query("SELECT * FROM users");
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
  }
?>

Utiliser des requêtes préparées

Utiliser des requêtes préparées

Les requêtes préparées sont essentielles pour interagir avec une base de données de manière sûre et efficace. Exemple :

Astuce : Utilisez des paramètres de substitution (:email) pour prévenir les injections SQL.

<?php
  $sql = "SELECT * FROM users WHERE email = :email";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["email" => "alice@mail.com"]);
  $user = $stmt->fetch(PDO::FETCH_ASSOC);

  echo "Name: " . $user["name"];
?>

Gestion des erreurs avec PDO

Gestion des erreurs avec PDO

PDO prend en charge trois modes de gestion des erreurs :

  • ERRMODE_SILENT : Les erreurs doivent être vérifiées manuellement.
  • ERRMODE_WARNING : Les erreurs déclenchent des avertissements PHP.
  • ERRMODE_EXCEPTION : Les erreurs lèvent des exceptions (recommandé).

Exemple :

<?php
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  try {
    $pdo->exec("INVALID SQL STATEMENT");
  } catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
  }
?>

Récupérer des données

Récupérer des données

PDO fournit plusieurs méthodes de récupération :

  • fetch() : Récupère une seule ligne.
  • fetchAll() : Récupère toutes les lignes.
  • fetchColumn() : Récupère la valeur d'une seule colonne.

Exemple :

<?php
  $stmt = $pdo->query("SELECT name FROM users");
  while ($name = $stmt->fetchColumn()) {
    echo "User: " . $name . "<br>";
  }
?>

Gestion des transactions

Gestion des transactions

Utilisez les transactions pour exécuter plusieurs requêtes comme une seule unité. Exemple :

Astuce : Utilisez les transactions pour garantir l'intégrité des données.

<?php
  try {
    $pdo->beginTransaction();

    $pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@mail.com')");
    $pdo->exec("INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@mail.com')");

    $pdo->commit();
    echo "Transaction successful!";
  } catch (PDOException $e) {
    $pdo->rollBack();
    echo "Transaction failed: " . $e->getMessage();
  }
?>

Bravo !

Bravo !

Félicitations ! Vous avez appris à utiliser PDO pour interagir avec une base de données de manière sûre et efficace, notamment en vous connectant, en exécutant des requêtes et en gérant des transactions. Dans la prochaine leçon, nous explorerons des techniques avancées de requête SQL avec PDO. Continuons à coder !

Manipuler PDO — illustration 10

Questions Fréquemment Posées

La leçon « Manipuler PDO » est-elle gratuite ?

Oui — le texte complet de « Manipuler PDO » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 6 leçons au total.

Qu'est-ce que j'apprendrai dans « Manipuler PDO » ?

Utilisez les objets de données PHP (PDO) pour interagir avec les bases de données Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 6 sur 6.

Combien de temps prend la leçon « Manipuler PDO » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction aux bases de données
  2. Se connecter à une base de données MySQL
  3. Gérer les tableaux
  4. Effectuer des opérations CRUD
  5. Requêtes préparées
  6. Manipuler PDO
← Retour à PHP Academy