(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::__construct — Создает экземпляр PDO, предоставляющий соединение с базой данных
$dsn
[, string $username
[, string $passwd
[, array $options
]]] )Создает экземпляр PDO, предоставляющий подключение к необходимой базе данных.
Имя источника данных или 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
Имя пользователя для строки DSN. Этот параметр опционален для некоторых драйверов PDO.
Пароль для строки DSN. Этот параметр опционален для некоторых драйверов PDO.
Массив ключ=>значение специфичных для драйвера настроек подключения.
Возвращает объект PDO в случае успеха.
PDO::__construct() выбрасывает исключение PDOException, если попытка подключения к запрашиваемой базе данных завершается с ошибкой.
Пример #1 Создание экземпляра PDO через вызов драйвера
<?php
/* Подключение к базе данных MySQL с помощью вызова драйвера */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Подключение не удалось: ' . $e->getMessage();
}
?>
Пример #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 = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Подключение не удалось: ' . $e->getMessage();
}
?>
Пример #3 Создание экземпляра PDO, используя псевдоним
В следующем примере предполагается, что php.ini содержит следующую запись, позволяющую подключиться к базе данных MySQL, используя только псевдоним mydb:
[PDO] pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Подключение к базе данных ODBC, используя псевдоним */
$dsn = 'mydb';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Подключение не удалось: ' . $e->getMessage();
}
?>
Версия | Описание |
---|---|
5.3.0 | Классы, наследуемые от PDO и реализующие магический метод __call, теперь получают оригинальное название метода. Ранее имя метода всегда возвращалось в нижнем регистре. |