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

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

Mary-Kate Olsen
發布: 2024-10-30 16:49:03
原創
204 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板