由于我将课程更改为静态并尝试学习 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 关注
- 103 浏览
添加回答
举报
0/150
提交
取消