MySQL (PDO)
PHP Manual

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSNConnexion 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 octets 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.


MySQL (PDO)
PHP Manual