为了账号安全,请及时绑定邮箱和手机立即绑定

静态连接 PDO

静态连接 PDO

PHP
守候你守候我 2021-06-14 16:35:49
由于我将课程更改为静态并尝试学习 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(...);

...


查看完整回答
反对 回复 2021-06-25
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信