PHP MySQL 拡張機能でのクエリの失敗の処理
MySQL テーブルからデータを抽出しようとすると、「mysql_fetch_array()」などのエラーが発生することがあります。パラメータ 1 がリソースであることを期待しており、ブール値が指定されています」というメッセージが表示される場合があります。このエラーは、クエリ関数が失敗し、予期されたリソース ハンドルではなくブール値 (「false」) が返されたことを示します。
提供された PHP コード内:
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username'); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
エラーが発生しますクエリ関数 (mysql_query) は実行が成功した場合は true を、失敗した場合は false を返すことができるためです。指定された SQL ステートメントは、無効な構文やテーブルが存在しないなど、さまざまな理由で失敗する可能性があることに注意してください。
これを解決するには、行をフェッチする前にクエリ関数の結果を確認する必要があります。 mysql_fetch_array を使用します。 $result が false と評価された場合、クエリが失敗したことを意味するため、エラーを適切に処理する必要があります。
非推奨の MySQL 拡張機能の場合:
if($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); }
MySQLi 拡張機能の場合:
if($result->errno) { // Log or output the error message }
以上がPHP の MySQL 拡張機能を使用するときにクエリの失敗を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。