2015-05-11 100 views
0

我需要使用聯接操作。這是我的代碼:CodeIgniter失敗聯接操作

$this->db->from('d'); 
     $this->db->where('id',$v); 
     $this->db->join('p', 'p.id = d.id'); 
$deal=$this->db->get(); 

唯一的例外是:

Server returned HTTP response code: 500 

表是:

p(id,home) and d(id, p.id(this value is from p table),school); 

有什麼不對?

回答

1
在查詢

$this->db->from('d'); 
    $this->db->where('id',$v); 
    $this->db->join('p', 'p.id = d.id'); 
    $deal=$this->db->get(); 

其中caluse是ambigeous,你必須把它像這樣

$this->db->where('d.id',$v); 

也儘量

$this->db->join('p', 'p.id = d.id', 'inner' or 'left'); 

不要把兩者只是把任內部或留在連接查詢,希望這將解決您的問題,並確保p,d不是他們的同義詞是實際存在於具有相同p,d名稱並具有有效列的DB中的表的名稱。

0

你必須嘗試和檢查的幾件事情在這裏:

1)無論您database.php文件包含正確的憑據。尋找任何愚蠢的語法錯誤。

2)是否加載database班?

3)有些時候,如果你已經安裝了php軟件包,mysql驅動程序不會被安裝。檢查你是否安裝了mysql dirver php5-mysqlnd