由于我將課程更改為靜態并嘗試學習 OOP。我的 PDO 停止工作。你們有什么線索嗎?由于 PDO 連接在 DBconnect 中,應該可以正常工作嗎?這是我的代碼:<?phpClass Db{ private static $dbHost; private static $dbUser; private static $dbPass; private static $dbName; private static $dbResult = null; public static $dbConnect = null; public static function connection(){ self::$dbHost = '***'; self::$dbUser = '***'; self::$dbPass = '***'; self::$dbName = '***'; try{ self::$dbConnect = new PDO('mysql:host='. self::$dbHost . ';dbname=' . self::$dbName, self::$dbUser, self::$dbPass); }catch(PDOException $e){ echo 'Connection error: ' . $e->getMessage(); } } public static function query($sql, $array = []){ self::$dbResult = self::$dbConnect->prepare($sql); self::$dbResult->execute($array); } public static function getOne(){ return self::$dbResult->fetch(PDO::FETCH_ASSOC); } public static function getAll(){ return self::$dbResult->fetchAll(PDO::FETCH_ASSOC); } public static function getCount(){ return self::$dbResult->rowCount(); }}未捕獲的錯誤:在 null 上調用成員函數 prepare()
1 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
根據我們在評論中的擴展討論,這是因為您從未創建,$dbConnect因為您沒有執行執行此操作的函數 ( Db::connection())。
在嘗試使用其他靜態函數之前,只需在某處運行它,您的代碼就會工作:
Db::connection();
Db::query(...);
...
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消