Создаёт объект PDO, который предоставляет соединение с базой данных

# PDO::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::__construct — Создаёт объект PDO, который предоставляет соединение с базой данных

### Описание

public function PDO::__construct(
string `$dsn`,
?string `$username` = `null`,
#[\SensitiveParameter]?string `$password` = `null`,
?array `$options` = `null`
)

Метод создаёт экземпляр класса PDO, который предоставляет подключение к необходимой базе данных.

### Список параметров

`dsn`

  Имя источника данных (англ. Data Source Name, 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-драйверов.

`options`

  Массив параметров подключения, характерных для драйвера, в виде пар ключ=>значение.

### Ошибки

Метод выбрасывает исключение PDOException, если попытка подключения к базе данных не удалась, независимо от текущей стратегии обработки ошибок, установленной в атрибуте `PDO::ATTR_ERRMODE`.

### Примеры

Пример #1 Пример создания экземпляра класса PDO через вызов драйвера

    <?php

    $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

    $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

    $dsn = 'mydb';
    $user = '';
    $password = '';

    $dbh = new PDO($dsn, $user, $password);

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open