PDO::__construct
(no version information, might be only in CVS)
PDO::__construct --
データベースへの接続を表す PDO インスタンスを生成する
説明
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 contains the full 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::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 'Connection failed: ' . $e->getMessage(); }
?>
|
|