试图调用方法:未定义的函数错误

时间:2009-07-19 04:21:34

标签: php class function methods

我有一个类连接到我的数据库,删除东西并从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;
    }
}

1 个答案:

答案 0 :(得分:14)

在PHP中, 使用$this为对象级方法/变量添加前缀,否则它将在全局“命名空间”中查找函数/变量。

所以将$queryResult = runQuery($query);更改为$queryResult = $this->runQuery($query);