Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

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