0

我正在尝试运行 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 查询手动运行,查询返回预期的行,因此是成功的。因此,当我运行脚本时,我不知道为什么会收到该警告并且行数组为空。

4

2 回答 2

1

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

$result = mysql_query($sql) or die(mysql_error());
于 2013-10-10T04:52:46.147 回答
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_*。

于 2013-10-10T04:55:07.930 回答