2016-11-13 55 views
0

我有一個代碼點火器項目託管here,但我有錯誤號碼:1054 'on子句'中顯示的未知列'p.id'網站。如何解決我的代碼中的錯誤1054點火器查詢

下面是提供此錯誤的sql查詢。

public function get_popular() 
{ 
    // Using active records 
    $this->db->select('P.*, COUNT(O.product_id) as total'); 
    $this->db->from('orders AS O'); 
    $this->db->join('products AS P', 'O.product_id = p.id','INNER'); 
    $this->db->group_by('O.product_id'); 
    $this->db->order_by('total','desc'); 
    $query = $this->db->get(); 
    return $query->result();   
} 

與這行代碼竊喜問題

$this->db->join('products AS P', 'O.product_id = p.id','INNER'); 

該項目是我的本地機器上正常工作,直到我主持它這裏查看

+1

表別名區分大小寫。 –

+0

是的它確實有 – Guzzyman

回答

3

這是一個很簡單的。聲明一個表的別名爲P - 大寫字母:

$this->db->join('products AS P', ...) 

但隨後通過較低的信中引用它:p.id

在Windows上的字母的情況下 - Pp - 不在Linux上(這可能是由你的主機使用),它的確如此。因此,要解決這個錯誤只需鍵入:

$this->db->join('products AS p', 'O.product_id = p.id','INNER'); 

將來你會使用表和字段作爲嚴格小寫名稱在任何操作系統將工作做好。

+0

是的,它確實有效,但拋出了這個拋出的錯誤。檢查網站,看到新的錯誤http://brandberries.com.ng/clothshop/ – Guzzyman

+0

我問這裏的新問題http://stackoverflow.com/questions/40577561/unable-to-load-the-requested-文件類別的PHP你可以嘗試看看它。謝謝。 – Guzzyman