PHP Academy · Leçon

Se connecter à MySQL avec PDO

Créer une connexion PDO avec un DSN, un utilisateur et un mot de passe.

Leçon 1 sur 413 étapes

Se connecter à MySQL avec PDO est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. 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 4 leçons au total.

Qu’est-ce que PDO

PDO (objets de données PHP) est une couche d’abstraction pour l’accès aux bases de données. Une seule API fonctionne avec MySQL, PostgreSQL, SQLite et bien d’autres systèmes — il suffit de modifier le DSN.

Le DSN

Une chaîne DSN (nom de source de données) identifie le pilote, l’hôte, le port et le nom de la base de données.

<?php
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=myapp;charset=utf8mb4";

Créer une instance PDO

Transmettez le DSN, le nom d’utilisateur et le mot de passe au constructeur de PDO. Utilisez try/catch pour gérer les erreurs de connexion.

<?php
try {
    $pdo = new PDO(
        "mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
        "db_user",
        "db_pass"
    );
} catch (PDOException $e) {
    die("Connection failed: ".$e->getMessage());
}

Mode de gestion des erreurs

Configurez le mode de gestion des erreurs pour déclencher des exceptions, afin que les erreurs ne soient jamais ignorées silencieusement.

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

Mode de récupération par défaut

Configurez le style de récupération par défaut — les tableaux associatifs sont les plus pratiques.

<?php
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

Configuration complète de la connexion

Bonne pratique : créez PDO une seule fois avec tous ses attributs, puis partagez l’instance.

<?php
function createPDO(): PDO {
    return new PDO(
        "mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
        "root", "secret",
        [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
        ]
    );
}

Requêtes préparées émulées

Définir ATTR_EMULATE_PREPARES sur false utilise de véritables requêtes préparées côté serveur — elles sont plus sûres et plus efficaces.

charset=utf8mb4

Indiquez toujours charset=utf8mb4 dans le DSN. Cela prend en charge l’ensemble de la plage Unicode, y compris les émojis. N’utilisez jamais l’ancien alias utf8.

Exécuter une requête simple

Utilisez query() uniquement pour les requêtes qui ne contiennent aucune donnée saisie par l’utilisateur.

<?php
$stmt = $pdo->query("SELECT COUNT(*) as total FROM users");
$row  = $stmt->fetch();
echo $row["total"];

exec() pour les requêtes autres que SELECT

exec() exécute une requête qui ne renvoie aucun résultat et renvoie le nombre de lignes affectées.

<?php
$count = $pdo->exec("DELETE FROM sessions WHERE expires_at < NOW()");
echo "Deleted $count expired sessions";

Connexions persistantes

PDO prend en charge les connexions persistantes via PDO::ATTR_PERSISTENT => true. Dans les environnements PHP-FPM, un pool de connexions est généralement préférable.

Résumé

Créez PDO avec un DSN, définissez ERRMODE_EXCEPTION et FETCH_ASSOC, puis désactivez les requêtes préparées émulées. N’appelez jamais query() avec des données fournies par l’utilisateur — utilisez des requêtes préparées.

Vérification rapide

Quel attribut fait-il déclencher des exceptions à PDO en cas d’erreur ?

Gratuit pour commencer

Apprends PHP avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
49
Leçons
195

Questions Fréquemment Posées

La leçon « Se connecter à MySQL avec PDO » est-elle gratuite ?

Oui — le texte complet de « Se connecter à MySQL avec 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 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Se connecter à MySQL avec PDO » ?

Créer une connexion PDO avec un DSN, un utilisateur et un mot de passe. 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 1 sur 4.

Combien de temps prend la leçon « Se connecter à MySQL avec 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. Se connecter à MySQL avec PDO
  2. Instructions préparées et liaison de paramètres
  3. Récupérer des résultats avec PDO
  4. Transactions avec PDO
← Retour à PHP Academy