-1

重複の可能性:
mysql_fetch_array() は、パラメーター 1 がリソースであると想定しており、select でブール値が指定されています

次の警告が表示されます。

警告: mysql_fetch_row() は、パラメーター 1 がリソースであると想定します。
これは、355 行目の /home/content/97/9548797/html/test/index.php で指定されたブール値です。

コード:

$gresrow = mysql_fetch_row($gresult1); 
while( $row = mysql_fetch_row( $gresult1 ) ){ $GDs[] = $row[0]; }

この警告メッセージを削除するにはどうすればよいですか?

4

4 に答える 4

2

mysql_error()エラーメッセージが何であるかを確認するためにaを出力します。

echo mysql_error();

個人的には、特に動的変数が追加されている場合は、SQL クエリを出力すると役立つと思います。そうすれば、生成されて MySQL に送信される SQL を正確に読み取ることができます。

$query = "SELECT id FROM users where parentid=$display";
echo $query;

これを行うことで、$display設定されているかどうかを確認できます。

最後に、mysql_これらの関数は間もなく非推奨になるため、使用しないことを強くお勧めします。

于 2012-11-15T09:09:06.497 に答える
0

変数$gresult1はブール値のようですが、の結果でなければなりませんmysql_query()

私は、mysql_query()FALSEを返したと思います。まず、クエリが成功したかどうかを確認する必要があります。

于 2012-11-15T09:09:00.903 に答える
0

MySQL のエラーが発生している可能性があります。or die(mysql_error());- 行の後ろにmysql_query()入力して、エラー メッセージの内容を教えてください。

于 2012-11-15T09:07:37.857 に答える
0

ブール値であるgresult1 ため、不平を言っています。ブール値である理由は、前回の呼び出し (ほぼ確実mysql_query) が失敗したときに false に設定されたためです。

その問題を解決する必要があります。または、少なくともそれを検出し、次のような戻り値をやみくもに使用しないでください。

$gresult1 = mysql_query("some dodgy non-functional query");
if (!$gresult1) {
    # handle error elegantly, then return
}
# NOW you can use gresult1 safely.

他の場所のコメントでのクエリが単なるタイプミスではないと仮定すると、探すべきことの 1 つは$diplay. 変数が存在しないか不正な形式であると、ほぼ確実にクエリが解析不能になり、失敗につながるため、$display( を使用して)意図していないことを確認することをお勧めします。"s"$diplay

しかし、最終的には、そうでない場合でも、以前の呼び出しが失敗した理由を突き止める必要があります。

于 2012-11-15T09:07:43.447 に答える