PDO_MYSQL DSN
(PECL PDO_MYSQL >= 0.1.0)
PDO_MYSQL DSN — Соединение с базой данных MySQL
Описание
Имя источника данных (Data Source Name или DSN) PDO_MYSQL состоит из следующих элементов:
- DSN префикc
-
DSN-префикс - это
mysql:
. -
host
-
Имя хоста, где находится сервер баз данных.
-
port
-
Номер порта, который слушает сервер баз данных.
-
dbname
-
Имя базы данных.
-
unix_socket
-
Сокет MySQL Unix (не должен использоваться совместно с
host
илиport
). -
charset
-
Кодировка. См. раздел Кодировки для дополнительной информации.
До PHP 5.3.6 этот элемент игнорировался. Частично этот параметр можно заменить с помощью
PDO::MYSQL_ATTR_INIT_COMMAND
, как показанно в примере ниже.ВниманиеМетод в примере ниже может быть использован только с кодировками, которые совпадают в части 7-битного представления ASCII, таких как ISO-8859-1 и UTF-8. Пользователи, использующие кодировки с другим представлением (такие как UTF-16 или Big5) должны использовать опцию
charset
, добавленную в PHP 5.3.6 и более поздних версиях.Пример #1 Установка набора символов соединения UTF-8 до 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);
?>
Примеры
Пример #2 Примеры DNS для PDO_MYSQL
Следующие примеры показывают использование PDO_MYSQL DSN для соединения с базой данных MySQL:
mysql:host=localhost;dbname=testdb
mysql:host=localhost;port=3307;dbname=testdb mysql:unix_socket=/tmp/mysql.sock;dbname=testdb
Примечания
Замечание: Только Unix:
Если имя хоста установлено как
"localhost"
, то соединение поисходит через сокет домена. Если PDO_MYSQL скомпилирован с использованием libmysqlclient, то путь к файлу-сокета будет совпадать с путем, по которому скомпилирован libmysqlclient. Если PDO_MYSQL скомпилирован с использованием mysqlnd, значение сокета по умолчанию, может быть выставлено с использованием настройки pdo_mysql.default_socket.