몇 가지 쿼리를 실행하여 일부 이미지에 대한 정보 페이지를 얻으려고합니다. 나는 함수를 작성했습니다.치명적 오류 : 비 객체의 fetch_assoc() 멤버 함수 호출
function get_recent_highs($view_deleted_images=false)
{
$lower = $this->database->conn->real_escape_string($this->page_size * ($this->page_number - 1));
$query = "SELECT image_id, date_uploaded FROM `images` ORDER BY ((SELECT SUM(image_id=`images`.image_id) FROM `image_votes` AS score)/(SELECT DATEDIFF(NOW() , date_uploaded) AS diff)) DESC LIMIT " . $this->page_size . " OFFSET $lower"; //move to database class
$result = $this->database->query($query);
$page = array();
while($row = $result->fetch_assoc())
{
try
{
array_push($page, new Image($row['image_id'], $view_deleted_images));
}
catch(ImageNotFoundException $e)
{
throw $e;
}
}
return $page;
}
이 이미지의 페이지를 인기도에 따라 선택합니다. 데이터베이스와의 상호 작용을 처리하는 Database
클래스와 이미지에 대한 정보를 보유하는 클래스 Image
을 작성했습니다. 이걸 실행하려고하면 오류가 발생합니다.
Fatal error: Call to a member function fetch_assoc() on a non-object
$result
는 mysqli 결과 집합이다, 그래서 나는 왜이 작동하지 않습니다에 관해서는 당황 해요.
$ 결과에 var_dump가 mysqli 결과 집합임을 확인합니까? – erisco