我有一个类连接到我的数据库,删除东西并从db查询返回东西。无论如何,我遇到的问题是我试图调用runQuery()
方法,但每次尝试时,我都会收到此错误:
致命错误:在DatabaseConnector.php第22行中调用未定义的函数runQuery()
也许有任何想法?我知道runQuery
是私有的,但它属于同一个类。只是为了踢,我以任何方式将其更改为公共,并仍然得到相同的错误:(
final class DatabaseConnector
{
private $db;
public function DatabaseConnector()
{
// constructor
}
public function connectMySQL($host, $user, $passwrd, $db, $query)
{
@ $db = new mysqli($host, $user, $passwrd, $db);
if (mysqli_connect_errno())
{
return mysqli_connect_errno();
}
else
{
$queryResult = runQuery($query);
return $queryResult;
}
}
private function runQuery($query)
{
$result = $db->query($query);
return $result;
}
}
答案 0 :(得分:14)
在PHP中, 使用$this
为对象级方法/变量添加前缀,否则它将在全局“命名空间”中查找函数/变量。
所以将$queryResult = runQuery($query);
更改为$queryResult = $this->runQuery($query);