PDO (PHP Data Objects) est une interface légère pour accéder aux bases de données en PHP. Il supporte plusieurs systèmes de gestion de bases de données (MySQL, PostgreSQL, SQLite...) et utilise des requêtes préparées pour protéger contre les injections SQL.
Dans ce cours, nous allons apprendre à nous connecter à une base de données MySQL de manière sécurisée, à comprendre la différence entre PDO et mysqli, et à maîtriser les requêtes préparées pour manipuler les données en toute sécurité.
Pourquoi choisir PDO ?
Exemple de connexion basique
Protection contre les injections SQL
PREPARE → EXECUTE → FETCH
fetch() : Une seule lignefetchAll() : Toutes les lignesfetchColumn() : Une seule colonne
Objectifs de ce cours :
✅ Comprendre PDO vs mysqli
✅ Se connecter à MySQL de manière sécurisée
✅ Maîtriser les requêtes préparées
✅ Protéger contre les injections SQL
✅ Gérer les erreurs avec try/catch
Points clés à retenir :
• PDO supporte plusieurs bases de données (MySQL, PostgreSQL, SQLite...)
• Les requêtes préparées protègent contre les injections SQL
• TOUJOURS utiliser charset=utf8mb4 pour les caractères spéciaux
• Activer ERRMODE_EXCEPTION pour détecter les erreurs
• Utiliser htmlspecialchars() avant d'afficher des données
• Ne JAMAIS afficher les messages d'erreur détaillés en production
Exercice pratique :
1. Créez une connexion PDO à votre base de données
2. Créez une table "users" avec id, nom, email
3. Insérez 3 utilisateurs avec des requêtes préparées
4. Affichez tous les utilisateurs avec fetchAll()
5. Recherchez un utilisateur par email avec fetch()
6. Gérez les erreurs avec try/catch
