치명적 오류: 비객체에 대한 fetch_assoc()
데이터베이스 쿼리를 실행할 때 다음 오류 메시지가 나타날 수 있습니다.
Fatal error: Call to a member function fetch_assoc() on a non-object
이 오류는 일반적으로 객체가 아닌 개체에서 fetch_assoc() 메서드를 호출할 때 발생합니다. mysqli_result 개체.
문제 분석:
제공된 코드 조각에서 다음과 같은 함수를 작성했을 수 있습니다.
function get_recent_highs(...){ $result = $this->database->query($query); while($row = $result->fetch_assoc()) {...} }
$result가 객체가 아닌 경우 fetch_assoc() 호출은 실패합니다. 이는 SQL 쿼리에 오류가 있어 query()가 결과 객체 대신 false를 반환하는 경우 발생할 수 있습니다.
해결책:
오류가 발생하면 query()의 반환 값을 확인하세요. false를 반환하면 예외를 발생시키거나 그에 따라 오류를 처리합니다. 예를 들면 다음과 같습니다.
function get_recent_highs(...){ $result = $this->database->query($query); if (!$result) { throw new Exception("Database Error"); } while($row = $result->fetch_assoc()) {...} }
query()에서 오류를 포착하면 fetch_assoc()가 유효한 결과 객체에 대해서만 호출되어 객체가 아닌 오류를 방지할 수 있습니다.
위 내용은 내 PHP 데이터베이스 쿼리에서 '치명적 오류: 비객체에 대한 fetch_assoc()'가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!