Forum und email

dbx 関数

導入

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

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

要件

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

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

インストール手順

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

実行時設定

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

DBX 設定オプション
名前 デフォルト 変更の可否 変更履歴
dbx.colnames_case "unchanged" PHP_INI_SYSTEM PHP 4.3.0 以降で有効です。PHP 5.1.0 で削除されました。
PHP_INI_* 定数の詳細および定義については php.ini ディレクティブ を参照してください。

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

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 から結果をソートする