Connexion aux bases de données MySQL

# PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Connexion aux bases de données MySQL

### Description

Le Data Source Name (DSN) de PDO_MYSQL est composé des éléments suivants :

Préfixe DSN

  Le préfixe DSN est `mysql:`.

host

  L'hôte sur lequel le serveur de base de données se situe.

port

  Le numéro de port où le serveur de base de données est en train d'écouter.

dbname

  Le nom de la base de données.

unix_socket

  Le socket Unix MySQL (ne devrait pas être utilisé avec host ou port).

charset

  Le jeu de caractères. Voir la documentation sur les concepts des jeux de caractères pour plus d'informations.

  Avant la version 5.3.6 de PHP, cet élément était ignoré. Le même comportement peut être partiellement reproduit avec l'option `PDO::MYSQL_ATTR_INIT_COMMAND` du driver, comme le montre l'exemple suivant.

  Avertissement

  La méthode de l'exemple suivant ne peut être utilisée qu'avec des jeux de caractères qui partagent la même représentation des 7 bits les plus faibles qu'en ASCII, comme ISO-8859-1 et UTF-8. Les utilisateurs utilisant des jeux de caractères ayant une représentation différente (comme UTF-16 ou Big5) doivent utiliser l'option charset fournie depuis la version 5.3.6 de PHP.

  Exemple #1 Définition du jeu de caractères pour la connexion à UTF-8 avant PHP 5.3.6

  `<?php
  $dsn = 'mysql:host=localhost;dbname=testdb';
  $username = 'username';
  $password = 'password';
  $options = array(
  PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
  );
  $dbh = new PDO($dsn, $username, $password, $options);
  ?>`

### Historique

Version | Description
--- | ---
5.3.6 | Avant la version 5.3.6, charset était ignoré.

### Exemples

Exemple #2 Exemples avec le DSN de PDO_MYSQL

L'exemple suivant montre le DSN PDO_MYSQL pour se connecter aux bases de données MySQL :

    mysql:host=localhost;dbname=testdb

Exemples plus complets :

    mysql:host=localhost;port=3307;dbname=testdb
    mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

### Notes

> Note: Unix seulement:

> Lorsque le nom d'hôte est "localhost", la connexion est faite par un socket Unix. Si PDO_MYSQL est compilé avec libmysqlclient alors le fichier de socket est celui précisé à la compilation de libmysqlclient. Si PDO_MYSQL est compilé avec mysqlnd, un socket par défaut peut être indiqué via la paramètre pdo_mysql.default_socket.