リソース タイプ
MySQL モジュールでは 2 つのリソース タイプが使用されます。 1 つ目はデータベースの接続ハンドルで、2 つ目は SQL クエリによって返された結果セットです。
定義済み定数
次の定数は、この拡張モジュールによって定義されているため、この拡張モジュールが PHP にコンパイルされるか、実行時に動的にロードされた後にのみ有効になります。
PHP 4.3.0 以降のバージョンでは、mysql_connect() 関数および mysql_pconnect() 関数でより多くのクライアント タグを指定できるようになりました。定義されている定数を以下に示します。
表 2. MySQL クライアント定数
定数 説明
MYSQL_CLIENT_COMPRESS は圧縮通信プロトコルを使用します
MYSQL_CLIENT_IGNORE_SPACE は関数名の後にスペースを許可します
MYSQL_CLIENT_INTERACTIVE は許可します(wait_timeout の代わりに) 切断する前にアイドル状態で待機するために、interactive_timeout 時間を設定します。
MYSQL_CLIENT_SSL は SSL 暗号化を使用します。このフラグは、MySQL クライアント ライブラリのバージョンが 4.x 以降の場合にのみ使用できます。 PHP 4 と Windows バージョンの PHP 5 インストール パッケージは両方とも 3.23.x にバンドルされています。
mysql_fetch_array() 関数は、定数を使用して返される配列の型を表します。以下は定数の定義です。
表 3. MySQL フェッチ定数
定数 説明
MYSQL_ASSOC 返されるデータ列は、フィールド名を配列のインデックス名として使用します。
MYSQL_BOTH 返されるデータ列は、フィールド名と数値インデックスを配列のインデックス名として使用します。
MYSQL_NUM 返されるデータ列は、配列のインデックス名として数値インデックスを使用します。インデックスは 0 から始まり、返された結果の最初のフィールドを示します。
メモ
メモ: ほとんどの MySQL 関数は、最後のオプションのパラメーターとして link_identifier を受け入れます。このパラメータが指定されていない場合は、最後に開いた接続が使用されます。接続が存在しない場合は、php.ini で定義されたデフォルトのパラメータを使用して接続の確立が試行されます。接続が失敗した場合、関数は FALSE を返します。
例
次の簡単な例は、データベースに接続する方法、クエリ ステートメントを実行する方法、返された結果セットを出力する方法、データベースから切断する方法、および一連の基本的な MySQL 操作を示しています。 例1. MySQL 例子
// 接続,选择数据库
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
or die( 「接続できませんでした:」 . mysql_error());
「正常に接続されました」をエコーします。
mysql_select_db('my_database') or die('データベースを選択できませんでした');
// SQL 実行
$query = 'Select * FROM my_table';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// 用 HTML 显示結果
echo "
n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "tn";
foreach ($line as $col_value) {
echo "tt$col_value | n";
}
echo "t
n";
}
echo "
n";
// 結果セットを解放します
mysql_free_result($result);
// 接続を閉じます
mysql_close( $link ; ユーザー
mysql_client_encoding -- 文字セットの名前を返します
mysql_close -- MySQL 接続を閉じます
mysql_connect -- MySQL サーバーへの接続を開きます
mysql_create_db -- 新しい MySQL を作成しますデータベース
mysql_data_seek -- 内部結果ポインタを移動します
mysql_db_name -- 結果データを取得します
mysql_db_query -- MySQL クエリを送信します
mysql_drop_db -- MySQL データベースをドロップ (削除)します
mysql_errno - - 前の MySQL オペレーションを返します。 エラー メッセージの数値エンコードを返します。
mysql_error -- 前の MySQL オペレーションによって生成されたテキスト エラー メッセージを返します。
mysql_escape_string -- mysql_query の文字列をエスケープします。
mysql_fetch_array -- から行を取得します。結果セットを連想配列として、または数値配列として、またはその両方
mysql_fetch_assoc -- 結果セットから連想配列として行を取得します
mysql_fetch_field -- 結果セットから列情報を取得し、それをobject
mysql_fetch_lengths -- 結果セット内の各行を取得します。 出力の長さです。
mysql_fetch_object -- 結果セットからオブジェクトとして行を取得します。
mysql_fetch_row -- 結果セットから行をオブジェクトとして取得します。列挙配列
mysql_field_flags -- 結果から指定されたフィールドに関連付けられたフラグを取得します
mysql_field_len -- 指定されたフィールドの長さを返します
mysql_field_name -- 結果内の指定されたフィールドのフィールド名を取得します
mysql_field_seek -- 結果セット内のポインタを指定されたフィールド オフセットに設定します。
mysql_field_table -- 指定されたフィールドが配置されているテーブルの名前を取得します。
mysql_field_type -- 指定されたフィールドのタイプを取得します。結果セット
mysql_free_result -- 結果メモリを解放します
mysql_get_client_info -- MySQL クライアント情報を取得します
mysql_get_host_info -- MySQL ホスト情報を取得します
mysql_get_proto_info -- MySQL プロトコル情報を取得します
mysql_get_server_info - - MySQL サーバー情報の取得
mysql_info -- 最新のクエリ情報の取得
mysql_insert_id -- 前回の Insert 操作で生成された ID の取得
mysql_list_dbs -- MySQL サーバー内のすべてのデータベースのリスト
mysql_list_fields - - MySQL 結果のフィールドを一覧表示します
mysql_list_processes -- MySQL プロセスを一覧表示します
mysql_list_tables -- MySQL データベース内のテーブルを一覧表示します
mysql_num_fields -- 結果セット内のフィールドの数を取得します
mysql_num_rows -- 結果セット内の行数を取得します
mysql_pconnect -- MySQL サーバーへの永続接続を開きます
mysql_ping -- サーバー接続に ping を実行し、接続がない場合は再接続します
mysql_query -- メッセージを送信しますMySQL クエリ
mysql_real_escape_string -- 接続の現在の文字セットを考慮して、SQL ステートメントで使用される文字列内の特殊文字をエスケープします
mysql_result -- 結果データを取得します
mysql_select_db -- MySQL データベースを選択します
mysql_stat -- 現在のシステムステータスを取得します。
mysql_tablename -- テーブル名を取得します。
mysql_thread_id -- 現在のスレッドの ID を返します。
mysql_unbuffered_query -- Line ではなく MySQL に SQL クエリを送信します。結果を取得してキャッシュする