Php 对单独类中的非对象调用成员函数bind_param()
你好,我尝试了一些解决方案,但仍然不适合我。 我有以下代码:Php 对单独类中的非对象调用成员函数bind_param(),php,php-5.6,Php,Php 5.6,你好,我尝试了一些解决方案,但仍然不适合我。 我有以下代码: public function databaseSearch($connection,$keyword){ $test =$connection->query("SELECT * FROM courses WHERE courseKeywords LIKE %?%"); $test->bind_param("s",$keyword); $test->execute();
public function databaseSearch($connection,$keyword){
$test =$connection->query("SELECT * FROM courses WHERE courseKeywords LIKE %?%");
$test->bind_param("s",$keyword);
$test->execute();
return $test->get_result();
}
以及获得:
Call to a member function bind_param() on a non-object
这就是我所说的:
$queryRepository = new QueryRepository();
$queryRepository->checkKeyword($keyword);
$result = $queryRepository->databaseSearch($connection,$keyword);
我知道这可能是语法错误,但简单的查询不起作用。我认为您的查询应该是这样的 $test=$connection->query(“从courseKeywords(如:s)所在的课程中选择*);//假设您有参数's'
希望这能解决您的问题我认为您的查询应该是这样的 $test=$connection->query(“从courseKeywords(如:s)所在的课程中选择*);//假设您有参数's'
希望这能解决你的问题我发现了问题所在。我必须添加私有变量:
private $courseKeywords;
然后在bind_参数后向databaseSearch函数添加以下行:
$this->courseKeywords = $courseKeywords
“整个”类看起来像:
class QueryRepository{
private $courseKeywords;
private $rowsAffected;
public function databaseSearch($connection,$courseKeywords){
$statement = $connection->prepare("SELECT * FROM courses WHERE courseKeywords like ?");
$statement->bind_param("s",$this->courseKeywords);
$this->courseKeywords = $courseKeywords;
$statement->execute();
$statement->close();
$this->rowsAffected = $connection->affected_rows;
}
public function rowsAffected(){
return $this->rowsAffected;
}
我在那里发现了问题。我必须添加私有变量:
private $courseKeywords;
然后在bind_参数后向databaseSearch函数添加以下行:
$this->courseKeywords = $courseKeywords
“整个”类看起来像:
class QueryRepository{
private $courseKeywords;
private $rowsAffected;
public function databaseSearch($connection,$courseKeywords){
$statement = $connection->prepare("SELECT * FROM courses WHERE courseKeywords like ?");
$statement->bind_param("s",$this->courseKeywords);
$this->courseKeywords = $courseKeywords;
$statement->execute();
$statement->close();
$this->rowsAffected = $connection->affected_rows;
}
public function rowsAffected(){
return $this->rowsAffected;
}
可能重复的“s”可能重复的字符串值不保留吗?它是mysqli。“s”可以是任何东西,如果你愿意,你可以替换它,它只是一个标识符。“s”不代表字符串值吗?它是mysqli。“s”可以是任何东西,如果你愿意,你可以替换它,它只是一个标识符。