int mysql_query
(string query, int
[link_identifier]
);mysql_query() は、 指定したlink_identifier が指すサーバー上の現在アクティブな データベースにクエリーを送信します。 link_identifier が指定されない場合、 最後にオープンされたリンクが指定されたと仮定されます。 リンクが一度もオープンされていない場合、 この関数は、 mysql_connect() が引数無しでコールされた時と 同様にリンクを確立し、使用しようとします。
クエリー文字列は、セミコロンで終わる必要はありません。
mysql_query()は、クエリーが成功したかどうかを 表すためにTRUE(非ゼロ)または FALSE を返します。 返り値 TRUE は、クエリーが正しく、サーバーにより実行されたことを 意味します。この返り値は、作用されたり、返される行の数に関する情報を 何も示しません。成功したが行に何も作用せず、行を何も返さないクエリーは 確実に有りえます。
次のクエリーは、文法的には間違っており、 mysql_query()は失敗し、FALSEを返します。
例 1. mysql_query()
|
my_col がテーブル my_tblの のカラムでない場合、次のクエリーは意味をなしません。 この場合、mysql_query() は失敗し、FALSEを返します。
例 2. mysql_query()
|
クエリーが参照するテーブルにアクセスする権限がない場合も mysql_query() は失敗し、FALSEが返されます。
クエリーが成功したと仮定すると、 (DELETE, INSERT, REPLACE, UPDATE 文について) 作用を受けた行の数を得るために mysql_affected_rows() をコールすることができます。 SELECT 文については、 mysql_query() は、新規の結果IDを返します。 このIDは、 mysql_result() の引数とすることができます。 結果の処理を終えた後、結果を保持するリソースを mysql_free_result() により解放することが 可能です。
mysql_affected_rows()、 mysql_db_query()、 mysql_free_result()、 mysql_result()、 mysql_select_db()、 mysql_connect() も参照下さい。