0

可能重复:
mysql_fetch_array() 期望参数 1 是资源,布尔值在选择中给出
警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在

这是我的代码。以前可以用,现在不行了。

            <?php
        include("db.php");
        ob_start();


        $result=mysql_query("SELECT * FROM navigation order by pos asc");

        while($nav = mysql_fetch_array($result))
        {
            $id = $nav['navid'];    
            echo '<a href="' . $nav['link'] . '" target="'. $nav['target'] .'">';
            echo "<span class='link'>". $nav['text']. "</span></a>";
        }
        mysql_close($conn);
        ob_flush();
        ?>

任何人都可以看到问题吗?

它给了我这个错误:警告:mysql_fetch_array() 期望参数 1 是资源,给出的布尔值。

谢谢。

4

1 回答 1

3

如果$result是布尔值,则为false,这意味着查询在此处失败:

$result=mysql_query("SELECT * FROM navigation order by pos asc");

请参阅文档

返回值

对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,mysql_query() 成功时返回资源,错误时返回 FALSE。

您可以使用mysql_error来知道错误是什么。

您还可以通过以下方式避免警告:

$result=mysql_query("SELECT * FROM navigation order by pos asc");

if ($result) {
    while($nav = mysql_fetch_array($result))
    {
    ...
    }
}

另请注意,不鼓励mysql使用 PHP 扩展,并且可能会在未来版本中删除

于 2012-11-19T13:49:05.243 回答