如果是boolean ,用fetchall 是错误的。

在更新或者删除操作的时候, 会返回布尔值。如果这个时候还是用fetchall 则会报错了。

所以在fetchall 的时候,对传入的值进行判断。

如果是对象则可以用fetcahall 的函数(其他类型用不了的也可以在下方留言,共同进步)

解决方案

进行fetchall 的时候进行判断是否为对象。

if(is_object($result)){
echo '是对象';
// 可以使用 $data = $result->fetchAll();
}else{
echo "不是对象";

}
exit;