>백엔드 개발 >PHP 튜토리얼 >카테고리를 검색하려고 할 때 \'치명적인 오류: null에서 prepare() 멤버 함수 호출\'이 발생하는 이유는 무엇입니까?

카테고리를 검색하려고 할 때 \'치명적인 오류: null에서 prepare() 멤버 함수 호출\'이 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 16:49:03169검색

Why am I getting a

치명적 오류: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.