ホームページ >データベース >mysql チュートリアル >なぜ `mysql_fetch_array()` は「ブール値が与えられた場合、パラメータ 1 がリソースであることを期待します」を返すのでしょうか?

なぜ `mysql_fetch_array()` は「ブール値が与えられた場合、パラメータ 1 がリソースであることを期待します」を返すのでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-01 07:30:10654ブラウズ

Why Does `mysql_fetch_array()` Return

MySQL リソース エラーについて

mysql_fetch_array() などの MySQL 手続き関数を使用して MySQL テーブルからデータを取得しようとすると、エラーが発生します:「mysql_fetch_array() はパラメーター 1 がリソースであることを期待しています。ブール値が与えられました。」このエラーは通常、さまざまな理由でクエリが失敗したときに発生します。

この問題を解決するには、mysql_fetch_array() 関数に渡す前に $result 変数の値を確認することが重要です。クエリが失敗した場合、$result は false に設定されます。

たとえば、指定した PHP コードでは次のようになります。

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

SQL クエリに構文エラーがあります。 LIKE 演算子の正しい構文は、検索文字列を一重引用符で囲むことです。

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

構文エラーを修正したら、次のように $result が false でないかどうかを確認する必要があります。

if($result !== FALSE) {
    while($row = mysql_fetch_array($result)) {
        echo $row['FirstName'];
    }
} else {
    trigger_error(mysql_error(), E_USER_ERROR);
}

mysql_error() 関数は、クエリの失敗に関する詳細を提供します。これは、ユーザーに表示したり、デバッグ用にログに記録したりできます。目的。クエリ エラーを適切に処理することで、PHP リソース エラーを回避し、MySQL テーブルからデータを正常に取得できます。

以上がなぜ `mysql_fetch_array()` は「ブール値が与えられた場合、パラメータ 1 がリソースであることを期待します」を返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。