首頁  >  文章  >  後端開發  >  為什麼我在嘗試檢索類別時收到“致命錯誤:在 null 上呼叫成員函數prepare()”?

為什麼我在嘗試檢索類別時收到“致命錯誤:在 null 上呼叫成員函數prepare()”?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 16:49:03133瀏覽

Why am I getting a

致命錯誤:神秘呼叫空白成員函數

查詢:

查詢:
<code class="php">$category = new Category;
$categories = $category->fetch_all();</code>

I'我在嘗試使用以下程式碼檢索類別清單時遇到令人費解的錯誤「致命錯誤:在null 上呼叫成員函數準備()」:

上下文:
<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>

Category 類別具有以下方法:

我已在專案的其他兩個部分成功使用此程式碼,但它在這裡給我帶來了麻煩。

回應:

<code class="php">$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);</code>
出現問題是因為 $pdo 變數為空。在呼叫類別方法之前,必須使用 PDO 物件進行初始化。這是由於 Category 類別中方法的實作方式所造成的。

要修復該錯誤,請將以下程式碼新增至您的腳本:確保放置此程式碼在全域範圍內,在呼叫 Category 類別方法之前。

以上是為什麼我在嘗試檢索類別時收到“致命錯誤:在 null 上呼叫成員函數prepare()”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn