[参加するときは真剣に考えてください] 警告: mysql_fetch_array(): 指定された引数は有効な MySQL 結果ではありません
タイトルにあるように、私はこの問題について Baidu と Google で数え切れないほど検索しましたが、その原因は何回ありますか。データ不足が原因で SQL クエリ ステートメントが間違っていますか?そのうちの 1 つは、何と言うか、意図的に他の人を誤解させ、エラー メッセージをブロックするために mysql_fetch_array に @ を追加するように指示しているように感じます。実際、問題はまったく解決されておらず、単にエラーが発生していないだけです。と促されました。以下のコードは
$conn=mysql_connect("localhost","test","test");
echo $conn."
";// ここに出力される結果は次のとおりです。 : リソース ID #1
mysql_select_db("test")
$r=mysql_query("select * from table1 where id > 0",$conn);
if($r==false) echo "query error";//ここでの出力結果は次のとおりです: query error
else
{
while ($row=mysql_fetch_array($r,MYSQL_ASSOC))
{
$rows[] =$ row;
}
}
実際には、このプログラムをローカルで実行できますが、デバッグのためにプログラムを上記のように単純化しましたが、それでも実行できません。クエリを実行しても false が返され続け、データのフェッチ時にエラーが報告されます。 警告: mysql_fetch_array(): 指定された引数は有効な MySQL 結果ではありません
に接続するために phpMyadmin を使用します。サーバーにアクセスし、select * from table1 where id > 0 は問題ありません。
私は C# から移行した PHP の初心者です。
-----解決策---------
$r=mysql_query("select * from table1 where id > 0",$conn);
逆に書きましたか: $r=mysql_query($conn, "select * from table1 where id > 0");
while ($row=mysql_fetch_array($r,MYSQL_ASSOC))
MYSQL_ASSOC?これは必要ですか? while ($row=mysql_fetch_array($r)) を直接使うことはできないのでしょうか?なぜあなたの書き方は私と違うのですか~~~~
------解決策------------------
マニュアルをもっと読んで、次のことを学ぶことをお勧めします。マニュアルを読んでください。ほとんどの問題は自分で解決できます。
------解決策----------------------
にアップロードするときは、ユーザー名とパスワードを変更する必要がありますサーバー
$conn=mysql_connect("localhost","test","test") または die('接続に失敗しました'); mysql_select_db("test"); //セミコロンに注意してください $r=mysql_query("select * from table1 where id > 0",$conn) または die("クエリが失敗しました"); if(mysql_num_rows($r)>0){ //レコードがあれば実行 while ($row=mysql_fetch_array($r)) { $rows[]=$row['フィールド']; } } <br><font color="#e78608">------解決策---------</font><br>