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

# XLV. InterBase関数

# 導入

InterBaseはBorland/Inpriseが開発した有名なデータベースです。 InterBaseに関する詳細な情報は、 http://www.interbase.com/から得ることができます。 ところで、InterBaseはオープンソース運動に加わりました！

> 注意: InterBase 6の完全なサポートがPHP 4.0で追加されました。

> このデータベースは、シングルクオート(')文字をエスケープに使用しま す。この動作はSybaseデータベースに似ており、以下のディレクティブ を `php.ini` に追加して下さい。

> `magic_quotes_sybase = On`

# 要件

# インストール手順

PHPでInterBaseサポートを有効にするには、 --with-interbase[=DIR]を指定して設 定を行います。ただし、DIRはInterBaseのベースインストールディレクトリ で、デフォルトは`/usr/interbase`です。

> Win32ユーザへの注意: このモジュールをWindows環境で有効にするには、 gds32.dllをPHP/Win32バイナリパッケージのDLLフォ ルダから使用するWindowsマシンのSYSTEM32フォルダ(例: C:\WINNT\SYSTEM32 またはC:\WINDOWS\SYSTEM32)にコピーする必要があります。 InterBaseデータベースサーバをPHPを実行しているのと同じマシンにイン ストールしている場合、このDLLはすでにあるはずです。この場合、 DLLフォルダからgds32.dllをコピーする必要はあり ません。

# 実行用の設定

これらの関数の動作は、`php.ini`の設定により変化します。

表 1. InterBase設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
ibase.allow_persistent | "1" | PHP_INI_SYSTEM
ibase.max_persistent | "-1" | PHP_INI_SYSTEM
ibase.max_links | "-1" | PHP_INI_SYSTEM
ibase.default_user | NULL | PHP_INI_ALL
ibase.default_password | NULL | PHP_INI_ALL
ibase.timestampformat | "%m/%d/%Y%H:%M:%S" | PHP_INI_ALL
ibase.dateformat | "%m/%d/%Y" | PHP_INI_ALL
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL

PHP_INI_* 定数の定義と詳細については、ini_set()を 参照して下さい。

# リソース型

# 定義済みの定数

これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。

The following constants can be passed to ibase_trans() to specify transaction behaviour.

表 2. Firebird/InterBase transaction flags

Constant | Description
--- | ---
IBASE_DEFAULT | The default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.
IBASE_READ | Starts a read-only transaction.
IBASE_WRITE | Starts a read-write transaction.
IBASE_CONSISTENCY | Starts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.
IBASE_CONCURRENCY | Starts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.

IBASE_COMMITTED

Starts a transaction with the isolation level set to 'read committed'. This flag should be combined with either `IBASE_REC_VERSION` or `IBASE_REC_NO_VERSION`. This isolation level allows access to changes that were committed after the transaction was started. If `IBASE_REC_NO_VERSION` was specified, only the latest version of a row can be read. If `IBASE_REC_VERSION` was specified, a row can even be read when a modification to it is pending in a concurrent transaction.

IBASE_WAIT | Indicated that a transaction should wait and retry when a conflict occurs.
IBASE_NOWAIT | Indicated that a transaction should fail immediately when a conflict occurs.

The following constants can be passed to ibase_fetch_row(), ibase_fetch_assoc() or ibase_fetch_object() to specify fetch behaviour.

表 3. Firebird/InterBase fetch flags

Constant | Description
--- | ---
IBASE_FETCH_BLOBS | Also available as `IBASE_TEXT`for backward compatibility. Causes BLOB contents to be fetched inline, instead of being fetched as BLOB identifiers.
IBASE_FETCH_ARRAYS | Causes arrays to be fetched inline. Otherwise, array identifiers are returned. Array identifiers can only be used as arguments to INSERT operations, as no functions to handle array identifiers are currently available.
IBASE_UNIXTIME | Causes date and time fields not to be returned as strings, but as UNIX timestamps (the number of seconds since the epoch, which is 1-Jan-1970 0:00 UTC). Might be problematic if used with dates before 1970 on some systems.

The following constants are used to pass requests and options to the service API functions (ibase_server_info(), ibase_db_info (), ibase_backup(), ibase_restore () and ibase_maintain_db()). Please refer to the Firebird/InterBase manuals for the meaning of these options.

`IBASE_BKP_IGNORE_CHECKSUMS`

`IBASE_BKP_IGNORE_LIMBO`

`IBASE_BKP_METADATA_ONLY`

`IBASE_BKP_NO_GARBAGE_COLLECT`

`IBASE_BKP_OLD_DESCRIPTIONS`

`IBASE_BKP_NON_TRANSPORTABLE`

`IBASE_BKP_CONVERT`

  Options to ibase_backup()()

`IBASE_RES_DEACTIVATE_IDX`

`IBASE_RES_NO_SHADOW`

`IBASE_RES_NO_VALIDITY`

`IBASE_RES_ONE_AT_A_TIME`

`IBASE_RES_REPLACE`

`IBASE_RES_CREATE`

`IBASE_RES_USE_ALL_SPACE`

  Options to ibase_restore()

`IBASE_PRP_PAGE_BUFFERS`

`IBASE_PRP_SWEEP_INTERVAL`

`IBASE_PRP_SHUTDOWN_DB`

`IBASE_PRP_DENY_NEW_TRANSACTIONS`

`IBASE_PRP_DENY_NEW_ATTACHMENTS`

`IBASE_PRP_RESERVE_SPACE`

`IBASE_PRP_RES_USE_FULL`

`IBASE_PRP_RES`

`IBASE_PRP_WRITE_MODE`

`IBASE_PRP_WM_ASYNC`

`IBASE_PRP_WM_SYNC`

`IBASE_PRP_ACCESS_MODE`

`IBASE_PRP_AM_READONLY`

`IBASE_PRP_AM_READWRITE`

`IBASE_PRP_SET_SQL_DIALECT`

`IBASE_PRP_ACTIVATE`

`IBASE_PRP_DB_ONLINE`

`IBASE_RPR_CHECK_DB`

`IBASE_RPR_IGNORE_CHECKSUM`

`IBASE_RPR_KILL_SHADOWS`

`IBASE_RPR_MEND_DB`

`IBASE_RPR_VALIDATE_DB`

`IBASE_RPR_FULL`

`IBASE_RPR_SWEEP_DB`

  Options to ibase_maintain_db()

`IBASE_STS_DATA_PAGES`

`IBASE_STS_DB_LOG`

`IBASE_STS_HDR_PAGES`

`IBASE_STS_IDX_PAGES`

`IBASE_STS_SYS_RELATIONS`

  Options to ibase_db_info()

`IBASE_SVC_SERVER_VERSION`

`IBASE_SVC_IMPLEMENTATION`

`IBASE_SVC_GET_ENV`

`IBASE_SVC_GET_ENV_LOCK`

`IBASE_SVC_GET_ENV_MSG`

`IBASE_SVC_USER_DBPATH`

`IBASE_SVC_SVR_DB_INFO`

`IBASE_SVC_GET_USERS`

  Options to ibase_server_info()

前のページ | ホーム | 次のページ
ifxus_write_slob | 上に戻る | ibase_add_user