downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

msql_affected_rows> <msession_unlock
[edit] Last updated: Mon, 01 Nov 2010

view this page in

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


add a note add a note User Contributed Notes mSQL 関数
acroyear at io dot com 15-May-2000 02:11
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.

 
show source | credits | sitemap | contact | advertising | mirror sites