在While While While循环中使用

时间:2013-04-09 21:43:54

标签: php sql while-loop

我需要第二双眼睛。我有一个由数千个表组成的数据库,所有表都具有相同的结构。我正在选择每个表,然后从行中选择URL并检查URL是否返回良好的HTML。整个过程运行正常,然后运行OK,然后为while函数的后续实例返回一个布尔值。

除了第一个实例以外,我收到了这个错误,这个错误正好运行。

  

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

$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
            }
}

希望这是有道理的

2 个答案:

答案 0 :(得分: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_*扩展程序。

答案 1 :(得分:0)

也许你的意思

$acces = $names['access_name'];