PDO::__construct
(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDO::__construct —
Создает экземпляр PDO, предоставляющий соединение с базой данных
Описание
PDO::__construct()
( string $dsn
[, string $username
[, string $password
[, array $driver_options
]]] )
Список параметров
-
dsn
-
Имя источника данных или DSN, содержащее информацию, необходимую для
подключения к базе данных.
В общем, DSN состоит из имени драйвера PDO, за которым следует двоеточие и
специфический синтаксис подключения драйвера PDO. Дополнительную
информацию можно получить из раздела Документация
по специфическим драйверам PDO.
Параметр dsn поддерживает три
разные метода указания аргументов, необходимых для создания
соединения с базой данных:
-
Вызов драйвера
-
dsn содержит полный DSN.
-
Вызов URI
-
Параметр dsn состоит из строки uri:
с последующим URI, который определяет расположение файла, содержащего
строку DSN. URI может указывать на локальный файл или удаленный URL.
uri:file:///path/to/dsnfile
-
Совмещение имен
-
dsn состоит из имени
name, которое соответствует параметру
pdo.dsn.name
в php.ini,
определяющему строку DSN.
Замечание:
Псевдоним должен быть определен в php.ini, но не в .htaccess или httpd.conf
-
username
-
Имя пользователя для строки DSN. Этот параметр опционален для
некоторых драйверов PDO.
-
password
-
Пароль для строки DSN. Этот параметр опционален для
некоторых драйверов PDO.
-
driver_options
-
Массив специфичных для драйвера настроек подключения ключ=>значение.
Возвращаемые значения
Возвращает объект PDO в случае успеха.
Ошибки
PDO::__construct() выбрасывает исключение PDOException, если попытка
соединения с необходимой базой данных не удается.
Примеры
Пример #1 Создание экземпляра PDO через вызов драйвера
<?php
/* Подключение к базе данных ODBC, используя вызов драйвера */
$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();
}
?>