ibase_connect
データベースへの接続をオープンする
説明
resource ibase_connect(
string $database
= ?,
string $username
= ?,
string $password
= ?,
string $charset
= ?,
int $buffers
= ?,
int $dialect
= ?,
string $role
= ?,
int $sync
= ?
)
同じ引数で ibase_connect が再度コールされた場合、
新規のリンクは作成されず、代わりに既にオープンされているリンクの
リンク ID が返されます。
ibase_close を明示的にコールしない限り、
サーバーへのリンクはスクリプトの実行終了時に閉じられます。
パラメータ
-
database
-
database
は接続するサーバー上のデータベース
ファイルへの正しいパスである必要があります。ローカルなサーバーへの
接続でない場合、使用する接続プロトコルに応じてこの引数の前に
'hostname:' (TCP/IP)、'hostname/port:' (カスタム TCP ポート上での interbase サーバーでの TCP/IP)、'//hostname/' (NetBEUI)
のどれかをつける必要があります。
-
username
-
ユーザー名。php.ini ディレクティブ
ibase.default_user
で設定します。
-
password
-
username
のパスワード。
php.ini ディレクティブ
ibase.default_password
で設定します。
-
charset
-
charset
はデータベースに関するデフォルトの文字セットです。
-
buffers
-
buffers
はサーバー側のキャッシュに確保されるデータベースバッファの数です。0
または省略された場合、サーバーはデフォルト値を用います。
-
dialect
-
dialect
は、接続時に実行される全ての命令に
関する SQL 方言のデフォルト値を選択し、デフォルトではクライアント
ライブラリでサポートされる方言のうち、最高位のものになります。
-
role
-
InterBase 5 以降でのみ有効です。
-
sync
-
戻り値
成功した場合に Firebird/InterBase リンク ID、エラー時に false
を返します。
エラー / 例外
この関数を使用して ibase_query をコールした後に
"arithmetic exception, numeric overflow,
or string truncation. Cannot transliterate character between character
sets" のようなエラーが発生した場合
(たとえばアクセント記号つきの文字を使用した場合などに発生します)、
文字セットを指定する必要があります
(例: ISO8859_1 あるいは現在の文字セット)。
例
例1 ibase_connect の例
<?php
$host = 'localhost:/path/to/your.gdb';
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>
参考
- ibase_pconnect
- ibase_close