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
<?php $result = mysql_query ("SELECT * WHERE 1=1") or die ("Invalid query"); ?>
my_col がテーブル my_tblの のカラムでない場合、次のクエリーは意味をなしません。 この場合、mysql_query は失敗し、FALSEを返します。
例 2. mysql_query
<?php $result = mysql_query ("SELECT my_col FROM my_tbl") or die ("Invalid 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 も参照下さい。