-1

我需要第二双眼睛。我有一个由数千个表组成的数据库,所有表都具有相同的结构。我选择每个表,然后从行中选择 URL 并检查 URL 是否返回良好的 HTML。整个事情运行良好,它运行一次 OK,然后对于 while 函数的后续实例,SQL 语句返回一个布尔值。

除了第一个实例之外,我都遇到了这个错误,它运行得非常好。

警告:mysql_fetch_array() 期望参数 1 是资源,在第 1272 行的 /home/toplist/public_html/config/index.php 中给出的布尔值

$result = mysql_query("SELECT `access_name` FROM `multiforums_forums`");
while ($names=mysql_fetch_array($result)) {
$acces = $names[access_name];
    $get_urls = mysql_query("SELECT * from `".$acces."_users`");
    while ($results=mysql_fetch_array($get_urls))
            {
              //this bit works fine
            }
}

希望这是有道理的

4

2 回答 2

2

阅读手册页mysql_query()false如果查询失败,它将返回(布尔值)。在阅读您的问题时,很可能是这种情况。

您可以使用该功能mysql_error()从 mysql 获取最新的错误消息。因此,将您的代码更改为类似这样以查看错误消息:

$result = mysql_query("SELECT `access_name` FROM `multiforums_forums`");
if(!$result) {
    die(mysql_error());
}
while ($names=mysql_fetch_array($result)) {
$acces = $names[access_name];
    $get_urls = mysql_query("SELECT * from `".$acces."_users`");
    if(!$get_urls) {
        die(mysql_error());
    }
    while ($results=mysql_fetch_array($get_urls))
            {
              //this bit works fine
            }
}

您还应该注意,不推荐使用 PHP 的 mysql_* 扩展。如果您不想很快重写此代码,则不应将其用于新代码。请改用PDOmysqli_*扩展。

于 2013-04-09T21:49:09.323 回答
0

也许你的意思是

$acces = $names['access_name'];
于 2013-04-10T05:26:19.220 回答