PHP マニュアル
前のページ |  | 次のページ

# PDO->__construct()

(no version information, might be only in CVS)

PDO->__construct() -- データベースへの接続を表す PDO インスタンスを生成する

## 説明

class PDO {
PDO __construct ( string dsn [, string username [, string password [, array driver_options]]] )
}

指定されたデータベースへの接続を表す 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 文字列で必要とされる場合に指定。

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 'Connection failed: ' . $e->getMessage(); } ?>`

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

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

    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 'Connection failed: ' . $e->getMessage(); } ?>`

例 3. エイリアスにより PDO インスタンスを生成する

以下の例では、`php.ini` にエイリアス `mydb` のみで MySQL データベースに接続できるようにするための以下のエントリが含まれることを 仮定します。

    [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(); } ?>`

前のページ | ホーム | 次のページ
PDO->commit() | 上に戻る | PDO->errorCode()