Introduction
    
     PDO_MYSQL est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour
     autoriser l'accès de PHP aux bases de données MySQL.
    
    
     PDO_MYSQL utilises des requêtes préparées émulées par défaut.
    
  
    
     MySQL 8
    
    
     Si PHP est utilisé dans une version 7.1 antérieure à la version 7.1.16, ou PHP 7.2 antérieure à 7.2.4,
     le plugin de mot de passe doit être défini à
     mysql_native_password pour MySQL 8 Server, car sinon des
     erreurs similaires à The server requested authentication method
     unknown to the client [caching_sha2_password] peuvent apparaitre, 
     même si caching_sha2_password n'est pas utilisé.
    
    
     Ceci est dû au fait que MySQL 8 utilise par défaut caching_sha2_password, 
     un plugin qui n'est pas reconnu par les anciennes versions de PHP (mysqlnd).
     À la place il faut modifier le paramètre 
     default_authentication_plugin=mysql_native_password dans
     my.cnf. Le plugin caching_sha2_password
     est pleinement supporté à partir de PHP 7.4.4. Pour les versions antérieures,
     l'extension mysql_xdevapi le supporte.
    
    
    Avertissement
     
      Prendre garde toutefois : certains types de tables MySQL (moteur d'enregistrement)
      ne supportent pas les transactions. Lorsque vous écrivez du code de base
      de données transactionnel en utilisant un type de table qui ne supporte
      pas les transactions, MySQL prétendra qu'une transaction était initiée
      correctement. De plus, toute requête DLL publiée enverra implicitement
      l'ensemble des transactions en attente.
     
     
    Note: 
     
      Le pilote MySQL ne supporte pas proprement PDO::PARAM_INPUT_OUTPUT
      via PDOStatement::bindParam(); tandis que de tel
      paramètres peuvent être utilisé, il ne seront pas mis à jour
      (c.à.d. la sortie actuel est ignoré).
     
    
    
   
 Installation
 
  Les distributions Linux incluent des versions binaires de PHP qui peuvent
  être installées. Même si ces binaires sont construits avec les extensions
  MySQL, les bibliothèques clientes doivent souvent être installées au
  moyen d'un paquet additionnel. Voyez si c'est le cas pour votre distribution.
 
 
  Par exemple, sur Ubuntu le package php5-mysql installe les
  extensions PHP ext/mysql, ext/mysqli, et pdo_mysql. Sur CentOS, le package 
  php-mysql installe aussi ces trois extensions PHP.
 
 
  Alternativement, vous pouvez compiler cette extension vous-même. Construire
  PHP depuis les sources permet de préciser les extensions MySQL à embarquer,
  mais aussi les bibliothèques clientes de chaque extension.
 
 
  Lors de la compilation utilisez --with-pdo-mysql[=DIR]
  pour installer l'extension PDO MySQL, où [=DIR] est le chemin
  de la bibliothèque de base de MySQL.
  Mysqlnd et la bibliothèque par défaut.
  Pour plus de détails à propos du choix de la bibliothèque, voir
  Choisir une bibliothèque MySQL.
 
 
  Optionnellement, l'option --with-mysql-sock[=DIR]
  définit le chemin vers le socket Unix MySQL pour toutes les extensions
  MySQL, y compris PDO_MYSQL. Si non spécifié, les chemins par défaut seront utilisés.
 
 
  Optionnellement, l'option --with-zlib-dir[=DIR]
  sera utilisée pour définir le préfixe d'installation zlib.
 
 
  
$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock
 
 
 
  Le support SSL est activé en utilisant les constantes
  Pdo\Mysql::ATTR_SSL_*,
  ce qui équivaut à appeler la fonction API C
  » mysql_ssl_set().
  De plus, SSL ne peut pas être activé avec PDO::setAttribute()
  car la connexion existe déjà.
  Voir également la documentation MySQL concernant
  » la connexion à MySQL avec SSL.
 
 
   
 Configuration à l'exécution
 Le comportement de ces fonctions est
affecté par la configuration dans le fichier php.ini.
 
  
  Pour plus de détails sur les modes INI_*,
        reportez-vous à 
Où une directive de configuration peut être modifiée.
 
 
Voici un éclaircissement sur
l'utilisation des directives de configuration.
 
  
   
    - 
     pdo_mysql.default_socketstring
- 
     
      Définit un socket de domaine Unix. La valeur peut aussi être définie au
      moment de la compilation si un socket de domaine Unix est trouvé lors
      de la configuration. Cette configuration INI n'est disponible que
      sous Unix.
      
- 
     pdo_mysql.debugbool
- 
     
      Active le débogage pour le driver PDO_MYSQL. Cette configuration n'est
      disponible que lorsque le driver PDO_MYSQL est compilé avec
      mysqlnd et en mode de débogage PDO.