php有问题(在非对象上调用成员函数)
我得到这个php错误,我似乎无法修复它php有问题(在非对象上调用成员函数),php,object,fatal-error,Php,Object,Fatal Error,我得到这个php错误,我似乎无法修复它 Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\mlrst\database.php on line 26 这是调用函数prepare的行 $this->statement->prepare($strQuery); 这是申报单 protected $statement; 有什么想法吗 编辑:这是我的全部代码(不要介意测试
Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\mlrst\database.php on line 26
这是调用函数prepare的行
$this->statement->prepare($strQuery);
这是申报单
protected $statement;
有什么想法吗
编辑:这是我的全部代码(不要介意测试假人)
您分配了局部变量$statement
。您需要使用$this->statement
设置实例的属性
换言之,改变这一点:
$statement = $db_connect->stmt_init();
为此:
$this->statement = $db_connect->stmt_init();
$this->statement->bind_param("ss", $name, $feedback);
$query = $this->statement->execute();
这是:
$statement->bind_param("ss", $name, $feedback);
为此:
$this->statement = $db_connect->stmt_init();
$this->statement->bind_param("ss", $name, $feedback);
$query = $this->statement->execute();
…这是:
$query = $statement->execute();
为此:
$this->statement = $db_connect->stmt_init();
$this->statement->bind_param("ss", $name, $feedback);
$query = $this->statement->execute();
您分配了局部变量$statement
。您需要使用$this->statement
设置实例的属性
换言之,改变这一点:
$statement = $db_connect->stmt_init();
为此:
$this->statement = $db_connect->stmt_init();
$this->statement->bind_param("ss", $name, $feedback);
$query = $this->statement->execute();
这是:
$statement->bind_param("ss", $name, $feedback);
为此:
$this->statement = $db_connect->stmt_init();
$this->statement->bind_param("ss", $name, $feedback);
$query = $this->statement->execute();
…这是:
$query = $statement->execute();
为此:
$this->statement = $db_connect->stmt_init();
$this->statement->bind_param("ss", $name, $feedback);
$query = $this->statement->execute();
你需要发布更多的代码。我们看不到您在何处/是否实际创建了语句对象。不管你是否关心类中有一个名为-statement
的成员,重要的是你在何时何地将对象分配给该成员,这取决于你没有做的错误。如果这只是一个围绕PDO或mysqli的包装类,那么很可能你应该首先分配给->statement
。它通常是准备一个SQL查询的结果,而不是准备一些东西的句柄。我们看不到您在何处/是否实际创建了语句对象。不管你是否关心类中有一个名为-statement
的成员,重要的是你在何时何地将对象分配给该成员,这取决于你没有做的错误。如果这只是一个围绕PDO或mysqli的包装类,那么很可能你应该首先分配给->statement
。它通常是准备SQL查询的结果,而不是准备使用的句柄
和$query=$statement->execute()代码>在preparedQuery()函数中。
发现另一行错误$query=$statement->execute()代码>:)也在$statement->bind_param(“ss”,$name,$feedback)中
和$query=$statement->execute()代码>在preparedQuery()函数中。
发现另一行错误$query=$statement->execute()代码>:)