关于php:尝试调用方法:未定义函数错误

Trying to call method: undefined function error

我有一个类可以连接到我的数据库、剥离内容并从数据库查询中返回内容。无论如何,我遇到的问题是我正在尝试调用 runQuery() 方法,但每次尝试时,我都会收到此错误:

Fatal error: Call to undefined function runQuery() in DatabaseConnector.php line 22

有什么想法吗?我知道 runQuery 是私有的,但它在同一个类中。只是为了好玩,我以任何方式将其更改为公开,但仍然遇到相同的错误:(

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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,否则它将在全局 "namespace" 中查找函数/变量。

所以把 $queryResult = runQuery($query); 改成 $queryResult = $this->runQuery($query);