我有一个类可以连接到我的数据库、删除内容并从数据库查询中返回内容。无论如何,我遇到的问题是我试图调用 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/

10-11 18:59