<分区>
好的,所以我知道关于“为什么我使用 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”语句中的所有内容都在正常执行 - 它对数据库进行了一些更改,我可以验证这些更改是否正在发生。更重要的是,查询从不吐出任何错误细节。我已经尝试测试 $result===false 的情况并询问错误信息,但它也不会返回任何内容。据我所知,查询字符串没有问题,没有失败。
我在这里做错了什么?除了 SQL 语句之外,PHP 不喜欢我的 While 参数是否有任何其他原因是错误的(同样,我相信它还不错)?
此外,我知道我应该使用 mysqli/PDO....我计划在不久的将来切换到那个,但我正在拔头发只是为了让这个工作,我不知道为什么它不会。在这一点上,这更像是个人的事情......
感谢您的帮助,如果您需要任何其他信息,请告诉我。 (PHP 版本 5.3)
这是查询字符串($query)的回显:
SELECT * FROM newuser WHERE token='6e194f2db1223015f404e92d35265a1b'
这里是查询结果的 var_dump ($result): resource(3) of type (mysql result)