mysql_fetch_array出错

时间:2012-11-19 13:46:16

标签: php mysql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
  Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

这是我的代码。它工作得更早,现在不是。

            <?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是资源,布尔值是。

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

请参阅the documentation

  

返回值

     

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回   resultset,mysql_query()在成功时返回资源,或者 FALSE on   错误。

您可以使用mysql_error来了解错误。

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

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

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

另请注意,PHP is discouragedmysql扩展程序可能会在将来的版本中删除