XCIII. mSQL 関数

導入

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

インストール手順

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

Win32 ユーザへの注意: このモジュールを Windows 環境で使用可能とするには、 msql.dll を PHP/Win32 バイナリパッケージの DLL フォルダから使用する Windows マシンの SYSTEM32 フォルダ(例: C:\WINNT\SYSTEM32 または C:\WINDOWS\SYSTEM32 ) にコピーする必要があります。

実行時設定

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_* 定数の詳細および定義については 付録G を参照してください。

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

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() のエイリアス