PHP マニュアル
前のページ |  | 次のページ

# mysql_query

(PHP 3, PHP 4 )

mysql_query -- SQLクエリーをMySQLに送信する

## 説明

int mysql_query ( string query, int `[link_identifier]`)

mysql_query()は、 指定したlink_identifierが指すサーバー上の現在アクティブな データベースにクエリーを送信します。 `link_identifier`が指定されない場合、 最後にオープンされたリンクが指定されたと仮定されます。 リンクが一度もオープンされていない場合、この関数は、 mysql_connect() が引数無しでコールされた時と 同様にリンクを確立し、使用しようとします。

クエリー文字列は、セミコロンで終わる必要はありません。

mysql_query()は、クエリーが成功したかどうかを 表すために`TRUE`(非ゼロ)または`FALSE`を返します。 返り値`TRUE`は、クエリーが正しく、サーバーにより実行されたことを 意味します。この返り値は、作用されたり、返される行の数に関する情報を 何も示しません。成功したが行に何も作用せず、行を何も返さないクエリーは 確実に有りえます。

次のクエリーは、文法的には間違っており、 mysql_query()は失敗し、`FALSE`を返します。

例 1mysql_query()
    <?php
    $result = mysql_query ("SELECT * WHERE 1=1")
        or die ("Invalid query");
    ?>

`my_col`がテーブル`my_tbl`の のカラムでない場合、次のクエリーは意味をなしません。 この場合、mysql_query()は失敗し、`FALSE`を返します。

例 2mysql_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()も参照下さい。

前のページ | ホーム | 次のページ
mysql_ping | 上に戻る | mysql_real_escape_string