Web aym.pekori.to

XXVII. dbx 関数

導入

dbx モジュールは、データベース抽象化レイヤ(db 'X' の 'X' は、 サポートされるデータベースの一つを意味します)のことです。dbx 関数 により、サポートされる全てのデータベースを単一の呼出表記により アクセスすることが可能になります。dbx 関数自体は、データベースへの 直接のインターフェイスを有しませんが、それらのデータベースをサポート するために使用されるモジュールへのインターフェイスを有します。

注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.1.0.

要件

dbx モジュールでデータベースを使用可能とするには、そのモジュールが PHP にリンクされるかロードされる必要があり、そのデータベースを dbx モジュールがサポートされている必要があります。現在 以下のデータベースがサポートされていますが、他のデータベースも 追加される予定です。

dbx にデータベースのサポートを追加するためのドキュメントは、 http://www.guidance.nl/php/dbx/doc/ にあります。

インストール手順

これらの関数を利用可能にするには、 --enable-dbx オプションを使用して dbx サポートを有効にし、また、使用するデータベースに関するオプション、 例えば MySQL の場合は --with-mysql=[DIR] も指定して PHP をコンパイルする必要があります。 他のサポートされるデータベースを dbx モジュールで動作させるには、 個別のドキュメントを参照してください。

実行時設定

php.ini の設定により動作が変化します。

表 1. DBX 設定オプション

名前デフォルト変更の可否変更履歴
dbx.colnames_case"unchanged"PHP_INI_SYSTEMPHP 4.3.0 以降で有効です。
PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

以下に設定ディレクティブに関する 簡単な説明を示します。

dbx.colnames_case string

カラム名は、変更されず("unchanged"の場合)に返すか、大文字 ("uppercase"の場合)または小文字("lowercase"の場合)に変換すること ができます。このディレクティブは、dbx_query() のフラグで上書きすることが可能です。

リソース型

dbx モジュールでは2種類のリソース型があります。最初のリソースは、 データベース接続用のリンク object で、2 番目はクエリ結果を 結果 object です。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

DBX_MYSQL (integer)

DBX_ODBC (integer)

DBX_PGSQL (integer)

DBX_MSSQL (integer)

DBX_FBSQL (integer)

DBX_OCI8 (integer) (PHP 4.3.0 以降で有効)

DBX_SYBASECT (integer)

DBX_SQLITE (integer) (PHP 5)

DBX_PERSISTENT (integer)

DBX_RESULT_INFO (integer)

DBX_RESULT_INDEX (integer)

DBX_RESULT_ASSOC (integer)

DBX_RESULT_UNBUFFERED (integer) (PHP 5)

DBX_COLNAMES_UNCHANGED (integer) (PHP 4.3.0 以降で有効)

DBX_COLNAMES_UPPERCASE (integer) (PHP 4.3.0 以降で有効)

DBX_COLNAMES_LOWERCASE (integer) (PHP 4.3.0 以降で有効)

DBX_CMP_NATIVE (integer)

DBX_CMP_TEXT (integer)

DBX_CMP_NUMBER (integer)

DBX_CMP_ASC (integer)

DBX_CMP_DESC (integer)

目次
dbx_close -- オープンされた接続/データベースを閉じる
dbx_compare --  ソートするために二つのレコードを比較する
dbx_connect -- 接続/データベースをオープンする
dbx_error --  (接続時だけでなく)使用するモジュールの最新の関数コールにおける エラーメッセージを出力する
dbx_escape_string --  SQL ステートメントで安全に使用できるように文字列をエスケープする
dbx_fetch_row -- DBX_RESULT_UNBUFFERED フラグを指定した クエリ結果から、行を取得する
dbx_query -- クエリを送信し、(ある場合には)結果を全て取得する
dbx_sort --  カスタマイズされたソート関数により、dbx_query から結果をソートする