Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 调用未定义的方法DB_Class::prepare()_Php_Oop_Mysqli - Fatal编程技术网

Php 调用未定义的方法DB_Class::prepare()

Php 调用未定义的方法DB_Class::prepare(),php,oop,mysqli,Php,Oop,Mysqli,我知道以前可能有人问过这个问题,但我在其他主题中找到的答案似乎对我没有帮助:/。我不确定当我按照答案做的时候我做错了什么,但这让我很烦 错误:在第15行调用未定义的方法DB_Class::prepare()。我放了一行注释来标记它 代码是荷兰语的,我希望这不是问题 Reg_Functies.php(或至少相关部分): 这可能是我正在查看的非常简单的东西,但是非常感谢您的帮助。您的代码正在尝试调用DB\u Class::prepare(),因为$this->DB已分配新的DB\u Class()

我知道以前可能有人问过这个问题,但我在其他主题中找到的答案似乎对我没有帮助:/。我不确定当我按照答案做的时候我做错了什么,但这让我很烦

错误:在第15行调用未定义的方法DB_Class::prepare()。我放了一行注释来标记它

代码是荷兰语的,我希望这不是问题

Reg_Functies.php(或至少相关部分):


这可能是我正在查看的非常简单的东西,但是非常感谢您的帮助。

您的代码正在尝试调用
DB\u Class::prepare()
,因为
$this->DB
已分配
新的DB\u Class()

首先,构造函数应该保留一个
mysqli
连接对象的副本,因此添加一个字段

private $connection;
DB_类
类,并更新构造函数,使其调用

$this->connection = $connection;
最后

然后,您需要定义一个
prepare
方法,在
DB\u Class()
中调用
mysqli\u prepare($this->connection)
,或者调用
$this->DB->connection->prepare()。如果选择最后一个选项,则需要将其设置为
公共
字段


另一个更好的选择是避免创建这个冗余的
DB\u类,而是使用
PDO

您的代码试图调用
DB\u类::prepare()
,因为
$this->DB
已经分配了
新的DB\u类()

首先,构造函数应该保留一个
mysqli
连接对象的副本,因此添加一个字段

private $connection;
DB_类
类,并更新构造函数,使其调用

$this->connection = $connection;
最后

然后,您需要定义一个
prepare
方法,在
DB\u Class()
中调用
mysqli\u prepare($this->connection)
,或者调用
$this->DB->connection->prepare()。如果选择最后一个选项,则需要将其设置为
公共
字段


另一个更好的选择是避免创建这个冗余的
DB_类
,而是使用
PDO

您的
DB_类
类没有构造函数之外的任何方法,也没有任何固有的东西。然而,您尝试在其上调用方法
$this->db->..
db_类
类没有构造函数之外的任何方法,并且它不从任何事物中继承。然而,您尝试在其上调用方法
$this->db->..
$connection
是构造函数范围内的局部变量(因此立即被丢弃),没有公共属性,因此
$this->db->connection
不是一个选项。虽然
$connection
是构造函数范围内的一个局部变量(因此立即丢弃),但我同意您的PDO,它不是公共属性,因此
$this->db->connection
不是一个选项。不过我同意你的看法