ibase_connect
(PHP 5, PHP 7 < 7.4.0)
ibase_connect — データベースへの接続をオープンする
説明
ibase_connect
([ string $database
[, string $username
[, string $password
[, string $charset
[, int $buffers
[, int $dialect
[, string $role
[, int $sync
]]]]]]]] ) : resource
Firebird/InterBase サーバーへの接続を確立します。
同じ引数で 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);?>