这是一个常见的问题,但我已经完成了我的研究,但我无法找到解决方案。所以我在这里。
我得到的错误是:致命错误:在非对象上调用成员函数fetch_assoc()
首先我启用了mysqlnd。其次我的查询没有错误。我能够在phpmyadmin中运行它没有任何问题。
以下是正在运行的查询:
$stmt = $this->conn->prepare($query);
if($stmt){
$stmt->execute();
while($row = $stmt->get_result()->fetch_assoc()){
$photo = new Photo(null, null, null, null);
$photo->id=$row["id"];
$photo->userId=$row["user_id"];
$photo->name = $row["name"];
$photo->photoPath=$row["photo_path"];
$result[] = $photo;
}
return $result;
}else{
var_dump($this->db->error);
}
以下是发生错误的代码(更具体地说,在fetch_assoc()函数中):
{{1}}
如果你们能帮助我,我将非常感激。
答案 0 :(得分:0)
你应该只调用get_result()
一次,而不是每次都通过循环。
$stmt->execute();
$stmt_result = $stmt->get_result();
while($row = $stmt_result->fetch_assoc()){
$photo = new Photo(null, null, null, null);
$photo->id=$row["id"];
$photo->userId=$row["user_id"];
$photo->name = $row["name"];
$photo->photoPath=$row["photo_path"];
$result[] = $photo;
}