2017-09-20 27 views
0

我選擇了一個表,但在錯誤部分,它告訴我,我選擇了另一個表。我不知道爲什麼會發生這種情況。我在某些視圖做查詢,但沒有問題這個問題並不是處處可見的,但在某些觀點和控制器中。Codeigniter數據庫查詢告訴錯誤+格式

這裏是我的MY_Model

protected function from() 
    { 
     return $this->db->from($this->_table_name); 
    } 

    protected function where() 
    { 
     if(is_array($this->_where)) 
     { 
      foreach($this->_where as $where) 
      { 
       return $this->db->where($where['field_name'],$where['primary_key']); 
      } 
     } 
     else 
     { 
      return $this->db->where($this->_field_name,$this->_primary_key); 
     } 
    } 

    protected function or_where() 
    { 
     if(is_array($this->_where)) 
     { 
      foreach($this->_where as $where) 
      { 
       return $this->db->or_where($where['field_name'],$where['primary_key']); 
      } 
     } 
     else 
     { 
      $this->db->or_where($this->_or_field_name,$this->_or_primary_key); 
     } 
    } 

    protected function join() 
    { 
     if(is_array($this->_join)) 
     { 
      foreach($this->_join as $join) 
      { 
       return $this->db->join($join['table'],$join['query']); 
      } 
     } 
     else 
     { 
      return 'Invalid Query'; 
     } 
    } 

    protected function order() 
    { 
     //print_r($this->_order);exit(); 
     if(is_array($this->_order)) 
     { 
      return $this->db->order_by($this->_order['by'],$this->_order['order']); 
     } 
     else 
     { 
      return "Invalid Query"; 
     } 
    } 

    protected function limit() 
    { 
     if(is_array($this->_limit)) 
     { 
      foreach($this->_limit as $limit) 
      { 
       return $this->db->limit($limit['from'],$limit['to']); 
      } 
     } 
     else 
     { 
      return $this->db->limit($this->_limit); 
     } 
    } 

    public function get() 
    { 
     $this->db->select('*'); 
     if($this->_table_name) 
     { 
      $this->from(); 
     } 
     if($this->_where || ($this->_field_name && $this->_primary_key)) 
     { 
      $this->where(); 
     } 
     if($this->_or_where || ($this->_or_field_name && $this->_or_primary_key)) 
     { 
      $this->or_where(); 
     } 
     if($this->_join) 
     { 
      $this->join(); 
     } 
     if($this->_order) 
     { 
      $this->order(); 
     } 
     if($this->_limit) 
     { 
      $this->limit(); 
     } 

     return $this->db->get(); 
    } 

,這是我的查詢

這是錯誤

Error Number: 1064 

您的SQL語法錯誤;檢查對應於您MariaDB的服務器版本正確的語法使用近「* FROM‘產品手冊’,‘parentcategory’WHERE‘產品’。」的productID「=‘30’」在1號線

SELECT *, * FROM `products`, `parentcategory` WHERE `products`.`productID` = '30' 

Filename: C:/xampp/htdocs/mv/system/database/DB_driver.php 

Line Number: 691 

我不知道爲什麼會發生這種情況,請幫助我。

回答

0

下面改變您的查詢:

SELECT products.*, parentcategory.* FROM `products`, `parentcategory` WHERE `products`.`productID` = '30' 

SELECT * FROM `products`, `parentcategory` WHERE `products`.`productID` = '30' 

您可以添加其它參數,如:

$this->cm->_field_to_select = "products.*,parentcategory.*"; 

,並在您get方法添加它

if ($this->_field_to_select) { 
    $this->db->select($this->_field_to_select);  
} 
else { 
    $this->db->select('*'); 
} 
+0

這不是查詢錯誤,由代碼 –

+0

做出的Cz查詢爲什麼會發生這種情況? –

+0

我不會把父類別是這個查詢,但這是自動的。 –