치명적 오류: Null 멤버 함수에 대한 신비한 호출
쿼리:
I' 다음 코드를 사용하여 범주 목록을 검색하려고 할 때 "치명적인 오류: null에서 멤버 함수 prepare() 호출"이라는 수수께끼 같은 오류가 발생했습니다.
<code class="php">$category = new Category; $categories = $category->fetch_all();</code>
컨텍스트:
Category 클래스에는 다음과 같은 메서드가 있습니다.
<code class="php">class Category { public function fetch_all() { global $pdo; $query = $pdo->prepare("SELECT * FROM dd_cat"); ... } public function fetch_data($cat_id) { global $pdo; $query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?"); ... } }</code>
이 코드를 프로젝트의 다른 두 섹션에서 성공적으로 사용했지만 여기서 문제가 발생했습니다.
응답:
$pdo 변수가 null이기 때문에 문제가 발생합니다. 클래스 메소드를 호출하려면 먼저 PDO 객체로 초기화해야 합니다. 이는 Category 클래스에서 메서드가 구현된 방식 때문입니다.
오류를 수정하려면 스크립트에 다음 코드를 추가하세요.
<code class="php">$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);</code>
이 코드가 배치되어 있는지 확인하세요. 전역 범위에서 Category 클래스 메서드를 호출하기 전.
위 내용은 카테고리를 검색하려고 할 때 \"치명적인 오류: null에서 prepare() 멤버 함수 호출\"이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!