2009-07-19 35 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

相關問題