わかりましたので、「mysql_fetch_array でこの警告が表示されるのはなぜですか...」という質問が何度か聞かれていることは知っています。私の問題は、サーバーがこの警告を吐き出している理由は、クエリ自体がは間違っています...これは私には当てはまりません。
以下にコードを示します。
$dbhost = "host";
$dbuser = "user";
$dbpass = "pass";
$dbname= "db";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname) or die ('<META HTTP-EQUIV="Refresh" CONTENT="0;URL=Failed.php?dberror=1">');
$token = mysql_escape_string($_GET['token']);
$query = "SELECT * FROM newuser WHERE token='$token'";
$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)) {
do stuff...
}
「while」ステートメント内のすべてが正常に実行されています.DBにいくつかの変更が加えられていることを確認できます. さらに重要なことは、クエリがエラーの詳細を吐き出さないことです。$result===false のケースをテストしてエラー情報を要求しようとしましたが、何も返されません。私が知る限り、クエリ文字列は問題なく、失敗していません。
ここで何が間違っていますか?PHP が SQL ステートメント以外の While パラメーターを気に入らない理由が他にあるでしょうか (これも悪くないと確信しています)。
また、私は mysqli/PDO を使用する必要があることを知っています....近い将来それに切り替える予定ですが、これを機能させようとしているだけで、なぜそれがうまくいかないのかわかりません。 t。今回はもっと個人的な話ですが…
ご協力ありがとうございます。追加情報が必要な場合はお知らせください。(PHP バージョン 5.3)
クエリ文字列 ($query) のエコーは次のとおりです。
SELECT * FROM newuser WHERE token='6e194f2db1223015f404e92d35265a1b'
そして、ここにクエリ結果 ($result) の var_dump があります: type (mysql result) の resource(3)