Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 the PHP Documentation Group.
PDO_MYSQL DSN
Connecting to MySQL databases
Description
The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:
The DSN prefix is mysql:
.
host
The hostname on which the database server resides.
port
The port number where the database server is listening.
dbname
The name of the database.
unix_socket
The MySQL Unix socket (shouldn't be used with host
or port
).
charset
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 PDO::MYSQL_ATTR_INIT_COMMAND
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
use the charset
option provided in PHP 5.3.6 and later versions.
Example 22.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);?>
Changelog
Version | Description |
---|---|
5.3.6 | Prior to version 5.3.6, charset was ignored. |
Examples
Example 22.214. PDO_MYSQL DSN examples
The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:
mysql:host=localhost;dbname=testdb
Notes
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
pdo_mysql.default_socket setting.