ホームページ >バックエンド開発 >PHPチュートリアル >mysql_query($sql) はブール値またはリソース ID を返しますか? それを解決するにはどうすればよいですか?
mysql_query($sql) はブール値またはリソース ID を返しますか?
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php $sql = "SELECT * FROM UserInfo WHERE id=222"; $sql2 = "SELECT TOP 1 * FROM UserInfo WHERE id=222"; mysql_connect("localhost", "root", ""); mysql_select_db("MYDB"); $result = mysql_query($sql); if (!$result){ echo( "the user not exist" .mysql_query($sql)); }else{ echo( "ok ,the user exist".mysql_query($sql) ); } ?>
mysql_query – MySQL クエリを送信する 説明する resource mysql_query ( string $query [, resource $link_identifier ] ) mysql_query() 指定された接続識別子に関連付けられたサーバー内の現在アクティブなデータベースにクエリを送信します。 link_identifier が指定されていない場合は、最後に開かれた接続が使用されます。開いている接続がない場合、この関数はパラメータなしで mysql_connect() 関数を呼び出し、接続を確立して使用しようとします。クエリ結果はキャッシュされます。 注記: クエリ文字列はセミコロンで終わってはいけません。 mysql_query() は、SELECT、SHOW、EXPLAIN、または DESCRIBE ステートメントの場合のみリソース識別子を返し、クエリが正しく実行されなかった場合は FALSE を返します。他のタイプの SQL ステートメントの場合、mysql_query() は成功時に TRUE を返し、エラー時に FALSE を返します。 FALSE 以外の戻り値は、クエリが有効であり、サーバーによって実行できることを意味します。これは、影響を受ける行数または返される行数については何も示しません。 クエリが正常に実行されたものの、行に影響を与えなかったり、行が返されなかったりする可能性があります。 次のクエリは構文的に正しくないため、mysql_query() は失敗し、FALSE を返します。 例1 mysql_query() の例 <php $result = mysql_query("SELECT * WHERE 1=1") または die("無効なクエリ: " .mysql_error()); ?> my_col がテーブル my_tbl 内の列ではない場合、次のクエリは意味的に正しくないため、mysql_query() は失敗し、FALSE を返します。 例2 mysql_query() <?php $result = mysql_query("my_tbl から my_col を選択") または die("無効なクエリ: " .mysql_error()); ?> クエリステートメントで参照されているテーブルにアクセスする権限がない場合、mysql_query() は FALSE を返します。 クエリが成功したと仮定すると、mysql_num_rows() を呼び出して SELECT ステートメントに対して返された行数を確認したり、mysql_affected_rows() を呼び出して DELETE、INSERT、REPLACE、または UPDATE ステートメントに対して影響を受けた行数を確認したりできます。 SELECT、SHOW、DESCRIBE、または EXPLAIN ステートメントの場合のみ、mysql_query() は新しい結果識別子を返します。これは、mysql_fetch_array() および結果テーブルを処理する他の関数に渡すことができます。結果セットの処理後、mysql_free_result() を呼び出すことで結果セットに関連付けられたリソースを解放できますが、メモリはスクリプトの実行後に自動的に解放されます。 mysql_num_rows()、mysql_affected_rows()、mysql_unbuffered_query()、mysql_free_result()、mysql_fetch_array()、mysql_fetch_row()、mysql_fetch_assoc()、mysql_result()、mysql_select_db()、および mysql _connect() を参照してください。 。 <div class="clear"></div>