Php Can';t solve mysqli_fetch_array()期望参数1是mysqli_结果,布尔值在

Php Can';t solve mysqli_fetch_array()期望参数1是mysqli_结果,布尔值在,php,mysql,sql,database,mysqli,Php,Mysql,Sql,Database,Mysqli,我到处都找过了,但找不到它,所以这里有一点php代码根本不起作用: if(!$result)没有捕获任何内容,但我一直得到“mysqli\u fetch\u array()期望参数1是mysqli\u result,布尔值在“while”行的“errors”中给出 为什么? --编辑: $result的var_转储返回: object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=>

我到处都找过了,但找不到它,所以这里有一点php代码根本不起作用:

if(!$result)没有捕获任何内容,但我一直得到“mysqli\u fetch\u array()期望参数1是mysqli\u result,布尔值在“while”行的“errors”中给出

为什么?

--编辑:

$result的var_转储返回:

object(mysqli_result)#3 (5) {
  ["current_field"]=>
  int(0)
  ["field_count"]=>
  int(9)
  ["lengths"]=>
  NULL
  ["num_rows"]=>
  int(588)
  ["type"]=>
  int(0)
}
$mysqli_错误($link)为空


我也不认为这是重复的,我在StackOverflow和其他论坛上都找过了,都没有解决我的问题,说$result必须返回false,因为查询失败或其他原因,这显然不是事实,如上图所示。

否则
var\u dump
您的
$result
变量,并打印出
mysqli\u error()
,不管它是什么。编辑以显示它。那么它可能不是重复的。但仍然无法回答。警告与您的代码和实际变量内容不匹配。显示真实代码。这是整个代码;在“while”之后的唯一内容是回音,在$link之前的唯一内容是文件是否存在。但是,删除$link2变量解决了这个问题。可能在
//do things
中发生了一些事情,正在修改
$result
,但是如果不查看您的代码,我们就无法判断。那个循环执行了吗?你有没有在循环中加入诊断来查看?
object(mysqli_result)#3 (5) {
  ["current_field"]=>
  int(0)
  ["field_count"]=>
  int(9)
  ["lengths"]=>
  NULL
  ["num_rows"]=>
  int(588)
  ["type"]=>
  int(0)
}