Connecting to MySQL databases
The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:
The DSN prefix is
The hostname on which the database server resides.
The port number where the database server is listening.
The name of the database.
The MySQL Unix socket (shouldn't be used with
The character set. See the character set concepts documentation for more information.
Prior to PHP 5.3.6, this element was silently ignored. The
same behaviour can be partly replicated with the
driver option, as the following example shows.
The method in the below example can only be used with character sets
that share the same lower 7 bit representation as ASCII, such as
ISO-8859-1 and UTF-8. Users using character sets that have different
representations (such as UTF-16 or Big5) must
charset option provided in PHP 5.3.6
and later versions.
Example 21.213. Setting the connection character set to UTF-8 prior to 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); ?>
|5.3.6||Prior to version 5.3.6, |
Example 21.214. PDO_MYSQL DSN examples
The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:
More complete examples:
When the host name is set to
"localhost", then the connection to
the server is made thru a domain socket. If PDO_MYSQL is
compiled against libmysqlclient then the location of the socket
file is at libmysqlclient's compiled in location. If
PDO_MYSQL is compiled against mysqlnd a default socket can be
set thru the