遇到mysql_fetch_assoc()函数问题

时间:2013-10-10 04:48:46

标签: php mysql

我正在尝试运行SQL查询,然后在表中显示结果。这是我正在使用的代码

$sql    = "SELECT * FROM mt.o_details WHERE cusid = '$cusid[$j]' AND type ='$type'";
    $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result))
    {
          .........
        }

我一直得到的错误是

  

警告:mysql_fetch_assoc()期望参数1是资源,   在......中给出的布尔值。

我已经回显了$ sql命令,然后作为sql查询手动运行它,查询返回预期的行,因此成功。因此,当我运行脚本时,我不知道为什么我收到警告并且行数组为空。

2 个答案:

答案 0 :(得分:1)

如果您的查询未返回任何结果,则可能出现此错误 mysql_query失败使用mysql_error()来查找错误。

$result = mysql_query($sql) or die(mysql_error());

答案 1 :(得分:0)

使用以下代码来避免错误:

$sql    = "SELECT * FROM mt.o_details WHERE cusid = '$cusid[$j]' AND type ='$type'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0){
    while($row = mysql_fetch_assoc($result))
    {
      .........
    } 
}

使用mysql_num_rows让查询返回一些结果。

  

注意:不要使用mysql_ *,因为它已被弃用。使用PDO或mysqli _ *。