XCV. mSQL 関数

導入

以下の関数により mSQL データベースサーバにアクセスすることが 可能になります。mSQL に関する詳細な情報は、 http://www.hughes.com.au/ にあります。

インストール手順

以下の関数を利用可能とするには、 --with-msql[=dir] オプションにより mSQL サポートを追加して PHP をコンパイルする必要があります。DIR は mSQL のインストールディレクトリで、デフォルトの位置は /usr/local/msql3 です。

Win32 ユーザへの注意: この拡張モジュールを動作させるには、 Windows システムの PATH が通った場所に DLL ファイルが存在する必要があります。 FAQ の "Windows で PHP のディレクトリを PATH に追加するにはどうすればいいのですか?" で、その方法を説明しています。 DLL ファイルを PHP のフォルダから Windows のシステムディレクトリにコピーしても動作します (システムディレクトリは、デフォルトで PATH に含まれるからです) が、これは推奨しません。 この拡張モジュールを使用するには、以下のファイルが PATH の通った場所にある必要があります。 msql.dll

実行時設定

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

表 1. mSQL 設定オプション

名前デフォルト変更の可否変更履歴
msql.allow_persistent"1"PHP_INI_ALL 
msql.max_persistent"-1"PHP_INI_ALL 
msql.max_links"-1"PHP_INI_ALL 
PHP_INI_* 定数の詳細および定義については 付録I を参照してください。

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

msql.allow_persistent boolean

持続的な mSQL 接続を許可するかどうか。

msql.max_persistent integer

プロセスごとの、持続的 mSQL 接続の最大数。

msql.max_links integer

プロセスごとの mSQL 接続の最大数。持続的接続の数も含めます。

リソース型

mSQL モジュールでは 2 種類のリソース型が使用されます。ひとつは データベース接続のリンク ID で、もうひとつはクエリ結果を保持する リソースです。

定義済み定数

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

MSQL_ASSOC (integer)

MSQL_NUM (integer)

MSQL_BOTH (integer)

ここでは、mSQL データベースへの接続、クエリの実行、結果の表示 そして接続の切断を行う簡単な例を示します。

例 1. mSQL の使用例

<?php
/* 接続し、データベースを選択する */
$link = msql_connect('localhost', 'username', 'password')
    or die(
'Could not connect : ' . msql_error($link));

msql_select_db('database', $link)
    or die(
'Could not select database');

/* SQL クエリを発行する */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Query failed : ' . msql_error($link));

/* 結果を HTML で表示する */
echo "<table>\n";
while (
$row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo
"\t<tr>\n";
    foreach (
$row as $col_value) {
        echo
"\t\t<td>$col_value</td>\n";
    }
    echo
"\t</tr>\n";
}
echo
"</table>\n";

/* 結果セットを開放する */
msql_free_result($result);

/* 接続をクローズする */
msql_close($link);
?>

目次
msql_affected_rows -- 変更された行の数を返す
msql_close -- mSQL 接続を閉じる
msql_connect -- mSQL 接続を開く
msql_create_db -- mSQL データベースを作成する
msql_createdb -- msql_create_db() のエイリアス
msql_data_seek -- 行に関する内部ポインタを移動する
msql_db_query -- mSQL クエリを送信する
msql_dbname -- msql_result() のエイリアス
msql_drop_db -- mSQL データベースを破棄(削除)する
msql_error --  最後の msql コールに関するエラーメッセージを返す
msql_fetch_array -- 結果の行を配列として取得する
msql_fetch_field -- フィールド情報を得る
msql_fetch_object -- 結果の行をオブジェクトとして取得する
msql_fetch_row -- 結果の行を数値配列として取得する
msql_field_flags -- フィールドのフラグを取得する
msql_field_len -- フィールドの長さを取得する
msql_field_name -- 結果における指定したフィールドの名前を取得する
msql_field_seek -- フィールドオフセットを設定する
msql_field_table -- フィールドのテーブル名を取得する
msql_field_type -- フィールドの型を取得する
msql_fieldflags -- msql_field_flags() のエイリアス
msql_fieldlen -- msql_field_len() のエイリアス
msql_fieldname -- msql_field_name() のエイリアス
msql_fieldtable -- msql_field_table() のエイリアス
msql_fieldtype -- msql_field_type() のエイリアス
msql_free_result -- 結果保持用メモリを開放する
msql_list_dbs -- サーバー上の mSQL データベースのリストを返す
msql_list_fields -- 結果フィールドのリストを得る
msql_list_tables -- mSQL データベースにおけるテーブルのリストを得ます
msql_num_fields -- 結果におけるフィールドの数を得る
msql_num_rows -- 結果における行の数を得る
msql_numfields -- msql_num_fields() のエイリアス
msql_numrows -- msql_num_rows() のエイリアス
msql_pconnect -- 持続的な mSQL 接続をオープンする
msql_query -- mSQL クエリを送信する
msql_regcase -- sql_regcase() のエイリアス
msql_result -- 結果のデータを得る
msql_select_db -- mSQL データベースを選択する
msql_tablename -- msql_result() のエイリアス
msql -- msql_db_query() のエイリアス