2016-10-25 45 views
0

我有這個威騰PHP類,但我使用它有問題的功能,從PHP調用類

<?php 
    class cs_mysql{ 
     protected $configPath; 
     protected $db; 
     function __construct($cP = null){ 
      $this->configPath = $cP; 
      require $this->configPath; 
     } 
     private function connection(){ 
      $db = new mysqli(Config::get('dbHost'),Config::get('dbUser'),Config::get('dbPass'),Config::get('dbName')); 
     } 
     public function getRow($table){ 
      $query = 'SELECT * FROM $table ORDER BY `id` DESC'; 
      $sql = $this->db->query($query); 
      if(!$sql){ 
       echo "FALSE"; 
      } 
     } 
    } 
?> 

我不知道如何運行數據庫查詢:$sql = $this->db->query($query);

+2

'$ this-> db = new mysqli' –

+1

但是你是否在任何地方使用'connection()'?我看不到你在呼喚它。 –

+1

基於此代碼,$ db將始終爲空,因爲'connection()'永遠不會運行。 – Brian

回答

0

變化

$db = new mysqli(Config::get('dbHost'),Config::get('dbUser'),Config::get('dbPass'),Config::get('dbName')); 

$this->db = new mysqli(Config::get('dbHost'),Config::get('dbUser'),Config::get('dbPass'),Config::get('dbName')); 

$ db是該類的一個屬性。要訪問類屬性(和方法),必須使用$this來引用類實例。

+0

我改變了它,但它不起作用但是... –

+0

我得到了這個錯誤:致命錯誤:未捕獲錯誤:調用成員函數query()在null中的/Applications/XAMPP/xamppfiles/htdocs/bonbegir/bbadmin/classes/mysql.class.php:14堆棧跟蹤:/ Applications/XAMPP/xamppfiles/htdocs/bonbegir/bbadmin/classes/mysql.class.php on line 14 –

+0

@AmirMohammadRivand正如我在你的問題的評論中提到的,你不會在任何地方調用'connection()',所以$ this-> db'將爲空。在執行'$ this-> db-> query()'之前,應該調用'$ this-> connection()' –