我有一个类可以连接到我的数据库、删除内容并从数据库查询中返回内容。无论如何,我遇到的问题是我试图调用 runQuery()
方法,但每次尝试时,我都会收到此错误:
有什么想法吗?我知道 runQuery
是私有(private)的,但它在同一个类中。只是为了踢球,我以任何方式将其更改为公开,但仍然出现相同的错误:(
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;
}
}
最佳答案
在 PHP 中,您必须使用 $this
为对象级方法/变量添加前缀,否则它将在全局“命名空间”中查找函数/变量。
所以将 $queryResult = runQuery($query);
改为 $queryResult = $this->runQuery($query);
关于php - 试图调用方法 : undefined function error,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1149234/