(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::__construct — Создаёт экземпляр PDO, предоставляющий соединение с базой данных
$dsn
,$username
= null
,$password
= null
,$options
= null
Создаёт экземпляр PDO, предоставляющий подключение к необходимой базе данных.
dsn
Имя источника данных или DSN, содержащее информацию, необходимую для подключения к базе данных.
В общем, DSN состоит из имени драйвера PDO, за которым следует двоеточие и специфический синтаксис подключения драйвера PDO. Дополнительную информацию можно получить из раздела Документация по специфическим драйверам PDO.
Параметр dsn
поддерживает три
разные метода указания аргументов, необходимых для создания
соединения с базой данных:
dsn
содержит полный DSN.
Параметр dsn
состоит из строки uri:
с последующим URI, который определяет расположение файла, содержащего
строку DSN. URI может указывать на локальный файл или удалённый URL.
uri:file:///path/to/dsnfile
dsn
состоит из имени
name
, которое соответствует параметру
pdo.dsn.
в php.ini,
определяющему строку DSN.
name
Замечание:
Псевдоним должен быть определён в php.ini, но не в .htaccess или httpd.conf
username
Имя пользователя для строки DSN. Этот параметр опционален для некоторых драйверов PDO.
password
Пароль для строки DSN. Этот параметр опционален для некоторых драйверов PDO.
options
Массив ключ=>значение специфичных для драйвера настроек подключения.
PDO::__construct() выбрасывает исключение PDOException, если попытка
подключения к запрашиваемой базе данных завершается с ошибкой, независимо от того,
какой PDO::ATTR_ERRMODE
установлен в данный момент.
Пример #1 Создание экземпляра PDO через вызов драйвера
<?php
/* Подключение к базе данных MySQL с помощью вызова драйвера */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
?>
Пример #2 Создание экземпляра PDO через вызов URI
В следующем примере предполагается, что файл /usr/local/dbconnect существует с правами доступа, которые позволяют PHP прочитать файл. Файл содержит PDO DSN для подключения к базе данных DB2 через драйвер PDO_ODBC:
odbc:DSN=SAMPLE;UID=john;PWD=mypass
PHP-скрипт может создать подключение к базе данных путём простой
передачи параметра uri:
, указывающим на
файл URI:
<?php
/* Подключение к базе данных ODBC с помощью вызова драйвера */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
$dbh = new PDO($dsn, $user, $password);
?>
Пример #3 Создание экземпляра PDO, используя псевдоним
В следующем примере предполагается, что php.ini содержит следующую
запись, позволяющую подключиться к базе данных MySQL, используя только
псевдоним mydb
:
[PDO] pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Подключение к базе данных ODBC, используя псевдоним */
$dsn = 'mydb';
$user = '';
$password = '';
$dbh = new PDO($dsn, $user, $password);
?>