PHP の mysql_fetch_array() 関数は通常、クエリ結果セットを PHP 配列に変換するために使用されます。ただし、mysql_fetch_array() 関数を使用すると、次のエラーが発生する可能性があります:
「警告: mysql_fetch_array() はパラメータ X がリソースであることを期待しています。ブール値が指定されています。」
X は 1 です。または 2、これは、関数の呼び出し時に間違ったパラメータの型が渡されたことが原因です。この記事では、このエラーの原因とその修正方法について説明します。
エラーの理由
このエラーは、関数呼び出しで渡されたパラメーターの型が正しくないことを示します。 mysql_fetch_array() 関数では、最初のパラメータは mysql_query() 関数によって返されるクエリ結果セットの識別子である必要があります。
渡されたものが結果セットではなくブール値である場合、上記のエラーが発生します。通常、このエラーは次の理由によって発生します:
1. クエリが実行されない
mysql_fetch_array() 関数を呼び出す前に、まず mysql_query() 関数を使用してクエリリクエストを実行し、結果セットを取得します。クエリが実行されなかった場合、mysql_query() 関数はブール値として false を返すため、mysql_fetch_array() 関数に渡されるとエラーが発生します。
2. クエリの失敗
クエリ リクエストの実行に失敗した場合は、結果セット識別子の代わりに false が返されます。同様に、mysql_fetch_array() 関数に false を渡そうとすると、エラーが発生します。
3. 間違った構文を使用する
間違った SQL 構文を使用すると、クエリは実行されず、偽の値が返されます。同様に、mysql_fetch_array() 関数に false を渡そうとすると、エラーが発生します。
解決策
1. クエリが正常に実行されたかどうかを確認します
mysql_fetch_array() 関数を呼び出す前に、mysql_query() 関数を使用してクエリが正常に実行されたことを確認してください。 ) 関数を実行し、結果セットの識別子を取得しました。クエリが正常に実行されなかった場合、mysql_query() 関数は false を返します。したがって、mysql_fetch_array() 関数を呼び出す前に、次のようにクエリが正常に実行されたかどうかを確認してください:
$result = mysql_query("SELECT * FROM table_name");
if($ result !== false) {
//クエリは成功しました
$row = mysql_fetch_array($result);
//結果セットを使用します
}
else {
//クエリ失敗
}
2. クエリ失敗の処理
クエリの実行が失敗した場合、エラーを確認して問題を解決する必要があります。次のコード スニペットは、クエリの失敗を確認してエラー メッセージを出力する方法を示しています。
$result = mysql_query("SELECT * FROM table_name");
if($result === false ) {
//クエリが失敗しました
echo "MySQL エラー:" . mysql_error();
}
else {
//結果が正常に取得されました set
$row = mysql_fetch_array($result);
}
3. 正しい構文を使用してください
SQL 構文が正しいことを確認してくださいクエリの失敗を避けるためには正しいです。疑問がある場合は、MySQL のドキュメントを確認するか、MySQL の書籍を参照してください。
概要
mysql_fetch_array() 関数を使用するときに、「警告: mysql_fetch_array() はパラメータ X がリソースであることを期待しています。ブール値が指定されています」というエラー メッセージが表示される場合は、コード セグメントにクエリを実行し、クエリの実行が失敗していないか、構文が正しくないかを確認します。上記の提案に従えば、エラーを正常に解決できるはずです。
以上がPHP 警告: mysql_fetch_array() はパラメータの解決を期待していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。