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



相关讨论

  • 是的,我讨厌那个。我想你只是习惯了。
  • 当谈到 PHP 时,你会习惯很多这样的细微差别。


声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。