3C.4 接続と切断
### データベースへの接続
$opt = array(
'debug' => 2,
'portability' => DB_PORTABILITY_ALL,
);
$db =& DB::connect($dsn, $opt);
if (PEAR::isError($db)) ScriptError("connect", $db->getMessage());
### データベースの切断
$db->disconnect();
データベースの接続には、DB::connect() を使用します。 connect() では実行時オプションを指定することもできます。 上例では、デバッグレベル(0〜3) を 2 に設定し、総てのポータビリティ機能を有効 ( DB_PORTABILITY_ALL ) にします。
接続が成功すると DB::connect() は、データベースクラスのインスタンス( $db ) を返します。 以降はこの インスタンス( $db ) を使ってデータベースを操作します。 データベース接続を切断するには disconnect() を使います。
| メソッド | 説明 |
|---|---|
object DB::connect ( mixed $dsn [,array $options = array()]) |
$dsn ( データソース名 ) で指定したデータベースに接続します。 成功時には データベースオブジェクトを、 失敗時には DB_Error オブジェクトを返します。 $dsn は配列を使って指定することもできます。 詳しくはPEAR::DBの公式マニュアルを参照して下さい。 第2引数 $options は実行時オプションを設定する場合に指定します。 詳しくは以下の setOption() を参照して下さい。 |
boolean DB_common::disconnect() |
データベース接続を切断します。成功時には true 、失敗時には false を返します。 |
| メソッド | 説明 |
|---|---|
mixed DB_common::getOption ( string $option ) |
オプション名 $option に対する値を返します。 ※ オプション名は以下の実行時オプションを参照して下さい。 |
integer DB_common::setOption ( string $option, mixed $value) |
実行時オプションを設定します。オプション名 $option とその値$valueを指定します。 成功時は DB_OK、 失敗時は DB_Error オブジェクトを返します。 ※ オプション名は以下の実行時オプションを参照して下さい。 |
| オプション名 | 型 | 規定値 | 説明 |
|---|---|---|---|
autofree |
boolean |
false |
trueの場合、自動的に結果セットを開放します。 |
debug |
integer |
0 |
デバッグレベル( 0 〜 3 )。数字が大きいほど詳細なエラーを出力します。 |
persistent |
boolean |
false |
trueの場合、永続的接続を有効にします。 |
portability |
integer |
0 |
移植性モードの定数 ( 有効なポータビリティ機能 ) を指定します。 この値はビット演算で処理されるので、 セットする時は | を、リセットする時は ^ を使用して下さい。 全てのポータビリティ機能を有効にする場合、 DB_PORTABILITY_ALL を指定します。 詳細はPEARの公式マニュアルを参照して下さい。 |
seqname_format |
string |
%s_seq |
シーケンス名を決める際に使用する sprintf() の書式指定文字列です。 |
ssl |
boolean |
false |
trueの場合、SSLで接続します。 |
- ポータビリティ機能
-
ポータビリティ機能については
マニュアル
に一度目を通して置く事を推奨します。
以下に興味あるポータビリティ機能を示します:- DB_PORTABILITY_LOWERCASE : テーブルとフィールドの名前を小文字に変換します
( get*() / fetch*() / tableInfo() ) - DB_PORTABILITY_RTRIM : 右トリミングします
( get*() / fetch*() ) - DB_PORTABILITY_NULL_TO_EMPTY : NULL 値を空の文字列に変換します
( get*() / fetch*() )
- DB_PORTABILITY_LOWERCASE : テーブルとフィールドの名前を小文字に変換します
