致命錯誤:神秘呼叫空白成員函數
查詢:
查詢:<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中文網其他相關文章!