Exercice 2 : Connexion MySQL

Apprenez à vous connecter à une base de données MySQL en PHP

PHP Intermédiaire

Objectifs

  1. Créer un script PHP pour se connecter à MySQL
  2. Utiliser PDO pour une connexion sécurisée
  3. Configurer la gestion des erreurs
  4. Tester la connexion avec une requête simple
  5. Fermer proprement la connexion

Prérequis

  • Serveur MySQL fonctionnel (XAMPP, WAMP, MAMP ou serveur distant)
  • Identifiants de connexion (hôte, nom de la base, utilisateur, mot de passe)
  • PHP 7.4+ avec l'extension PDO_MySQL activée

1. Configuration de base

Méthode dépréciée (mysql_*)

// À éviter - Déprécié depuis PHP 5.5
<?php
$link = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('ma_base', $link);
?>

Cette méthode est obsolète et non sécurisée. Ne pas utiliser.

Méthode recommandée (PDO)

// Configuration recommandée
<?php
$dsn = 'mysql:host=localhost;dbname=ma_base;charset=utf8mb4';
$user = 'user';
$pass = 'pass';

try {
  $pdo = new PDO($dsn, $user, $pass, [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  ]);
  echo "Connexion réussie !";
} catch (PDOException $e) {
  die("Erreur : " . $e->getMessage());
}
?>

2. Bonnes pratiques

Sécurité

  • Stockez les identifiants dans un fichier séparé (config.php)
  • Utilisez des variables d'environnement pour les mots de passe
  • Limitez les privilèges du compte MySQL

Performance

  • Utilisez le charset utf8mb4 pour un support Unicode complet
  • Activez les exceptions PDO pour le débogage
  • Définissez le mode de récupération par défaut

Organisation

  • Créez une classe Database pour centraliser la connexion
  • Utilisez des requêtes préparées pour toutes les requêtes SQL
  • Fermez la connexion quand elle n'est plus nécessaire

Solution complète