2009-07-19 138 views
4

我有一个类连接到我的数据库,剥离东西,并从数据库查询返回的东西。总之,我遇到的问题是,我想打电话给runQuery()方法,但每次我试图,我得到这个错误:试图调用方法:未定义的函数错误

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

也许任何想法?我知道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; 
    } 
} 

回答

14

在PHP中,你前缀对象级别的方法/与$this变量,否则它会查找功能/变量在全球“命名空间”。

因此改变$queryResult = runQuery($query);$queryResult = $this->runQuery($query);

+0

呀,我讨厌这样。我猜你只是习惯了它。 – 2009-07-19 04:25:10