Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 静态连接PDO_Php_Mysql_Oop - Fatal编程技术网

Php 静态连接PDO

Php 静态连接PDO,php,mysql,oop,Php,Mysql,Oop,因为我把我的类改成了静态的,并且尝试学习OOP。我的PDO停止工作了 你们有什么线索吗?既然PDO连接在DBconnect中,那么它应该正常工作吗 这是我的密码: 根据我们在comments中的扩展讨论,这是因为您从未创建$dbConnect,因为您没有执行完成它的函数Db::connection 在尝试使用其他静态函数之前,只需在某个地方运行此命令,您的代码就会正常工作: Db::connection(); Db::query(...); ... 显然,当您调用query时,它正试图使用se

因为我把我的类改成了静态的,并且尝试学习OOP。我的PDO停止工作了

你们有什么线索吗?既然PDO连接在DBconnect中,那么它应该正常工作吗

这是我的密码:


根据我们在comments中的扩展讨论,这是因为您从未创建$dbConnect,因为您没有执行完成它的函数Db::connection

在尝试使用其他静态函数之前,只需在某个地方运行此命令,您的代码就会正常工作:

Db::connection();
Db::query(...);
...

显然,当您调用query时,它正试图使用self::$dbConnect,而这尚未初始化。何时调用Db::connection对其进行初始化?@Martin我将连接存储到变量dbConnect中。self::$dbConnect=new-PDO'mysql:host='。self::$dbHost';dbname='。self::$dbName,self:$dbUser,self:$dbPass;我知道。什么时候执行初始化它的代码?你没读我的书吗comment@Martin在我的另一个类中,我使用这个:公共函数uu构造{$this->connection=self::$dbConnect;}如果不执行Db::connection,那么创建$dbConnect的代码永远不会运行$未创建数据库连接。