「mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows など...パラメータ 1 がリソースであることを期待します」エラーを理解する
こんなことに遭遇したらエラーは、データベース取得関数 (mysql_fetch_array()、mysql_fetch_assoc() など) の 1 つが無効なパラメータで呼び出されていることを示します。具体的には、パラメータはデータベースの結果セットを表すリソースである必要がありますが、代わりにブール値です。
エラーの原因
この根本的な原因通常、エラーはデータベース クエリの失敗です。クエリが失敗すると、mysql_* 関数/メソッドは false を返しますが、これはブール値として誤って解釈される可能性があります。その結果、その後、偽の結果で取得関数を呼び出すと、このエラーが発生します。
エラーの修正
この問題を解決するには、次のことを行う必要があります。次の手順に従います:
例
次のコードを考えてみましょう:
$username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); } while($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
この例では、まず次のことを確認します。 mysql_query() の結果を取得し、クエリが失敗した場合はエラーをトリガーします。次に、$result リソースを mysql_fetch_array() 関数に正しく渡します。これにより、適切なパラメータが使用され、エラーの発生が防止されます。
以上が「mysql_fetch_array()」で「パラメータ 1 がリソースであることが期待されます」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。