データベースへの接続を表す 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 driver-specific documentation にあります。

  `dsn` パラメータは、データベースへの接続を生成する ために必要な引数を指定する方法として、3種類の方法をサポートします。

  ドライバ呼び出し

    `dsn` に完全な DSN を指定します。

  URI 呼び出し

    `dsn` は、`uri:` の後に DSN 文字列を含むファイルの位置を定義する URI が続く形式となります。 この URI には、ローカルファイルまたはリモート URL を指定することができます。

    `uri:file:///path/to/dsnfile`

  エイリアス

    `dsn` は、DSN 文字列を定義する php.ini の `pdo.dsn.name` へマップする名前 `name` からなります。

    > 注意:

    > エイリアスは、.htaccess や httpd.conf ではなく、 php.ini で定義する必要があります。

`username`

  DSN 文字列のユーザー名。このパラメータは、いくつかの PDO ドライバではオプションです。

`password`

  DSN 文字列のパスワード。このパラメータは、いくつかの PDO ドライバではオプションです。

`options`

  ドライバ固有の接続オプションを指定するキー=> 値の配列。

### エラー / 例外

指定されたデータベースへの接続に失敗した場合、 `PDO::ATTR_ERRMODE` が設定されているかどうかに関わらず、 PDOException をスローします。

### 例

例1 ドライバ呼び出しにより PDO インスタンスを生成する

    <?php

    $dsn = 'mysql:dbname=testdb;host=127.0.0.1';
    $user = 'dbuser';
    $password = 'dbpass';

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

    ?>

例2 URI 呼び出しにより PDO インスタンスを生成する

以下の例では、ファイル /usr/local/dbconnect が存在し、 PHP がこのファイルを読み込む権限を有していることを仮定します。 このファイルには、 PDO_ODBC により DB2 データベースに接続するための PDO DSN が含まれています。

    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 にエイリアス `mydb` のみで MySQL データベースに接続できるようにするための以下のエントリが含まれることを 仮定します。

    [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