To those porting code from w3-msql/lite to php, a few functions are different or missing (aside from the fact that the order of arguments is reversed and the other signatures are different...not good design work, imho, or was it built for msql 1.x? At any rate, conformity with the C and Lite API should have been maintained.).
The lite/C function msqlStoreResult() is automatically done in msql_query() and msql().
msql_fetch_field() doesn't give you the field length value (unlike msqlFetchField()). You have to call msql_fieldlen() to get that.
msqlEncode() is missing. The functionality (which is needed for pretty much ALL SQL based rdbms's) is in addSlashes() in the String library.
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 の設定により動作が変化します。
| 名前 | デフォルト | 変更の可否 | 変更履歴 |
|---|---|---|---|
| msql.allow_persistent | "1" | PHP_INI_ALL | |
| msql.max_persistent | "-1" | PHP_INI_ALL | |
| msql.max_links | "-1" | PHP_INI_ALL |
以下に設定ディレクティブに関する 簡単な説明を示します。
リソース型
mSQL モジュールでは 2 種類のリソース型が使用されます。ひとつは データベース接続のリンク ID で、もうひとつはクエリ結果を保持する リソースです。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
例
ここでは、mSQL データベースへの接続、クエリの実行、結果の表示 そして接続の切断を行う簡単な例を示します。
Example#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());
/* 結果を 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 のエイリアス
mSQL
16-May-2000 06:11