2012-11-30 34 views
3

我在從我的數據庫中選擇數據時遇到問題。它告訴我下面的錯誤codeigniter數據庫在選擇數據時出錯

A Database Error Occurred 

Error Number: 1054 

Unknown column 'BA' in 'where clause' 

SELECT * FROM crime_details INNER JOIN crime_slink ON crime_slink.report_ID =crime_details.report_ID INNER JOIN crime_suspect ON crime_suspect.id=crime_slink.suspect_id INNER JOIN crime_vlink ON crime_vlink.report_ID=crime_details.report_ID INNER JOIN crime_victim ON crime_victim.id=crime_vlink.victim_id WHERE crime_details.report_ID =BA-12-00002 

Filename: C:\xampp\htdocs\CNPPO\system\database\DB_driver.php 

Line Number: 330 

好像問題出在這一部分WHERE crime_details.report_ID =BA-12-00002 我認爲這個問題是在我的查詢中的破折號或連字符引起的。 即時通訊使用$this->db-query()函數codeigniter爲我的查詢。

+0

我相信你需要周圍'BA-12-00002' – Darrrrrren

+0

WHERE crime_details.report_ID = 'BA-12-00002' –

+0

什麼是你的活動記錄 「其中」 條件報價請在這裏發帖 –

回答

2

crime_details.report_ID持有VARCHAR,所以你的WHERE條件應該是

WHERE crime_details.report_ID = 'BA-12-00002' 

即,你需要用引號括值。

此外,而不是使用$this->db->query()來運行您的手寫MySQL查詢,您應該使用ActiveRecord的查詢生成器,這將爲您處理此問題。例如,你可以這樣做:

$query = $this->db->get_where('crime_reports', array('report_ID' => 'BA-12-00002')); 
+0

或者只是使用PDO並將查詢保留在CI – AlienWebguy

+1

@AlienWebguy中,在這種情況下爲什麼要使用MVC框架? –

+0

沒有那麼糟糕的同化。 MVC框架可以組織代碼並加快開發時間。他們提供久經考驗的圖書館,因此開發人員可以花時間在網站上建立網站,而不必花費時間編寫表單驗證程序和其他東西。這就是說,PDO> CI的活躍記錄。在我看來,它同樣能夠減少冗長並遵循更好的OOP標準。 – AlienWebguy

1

變化

WHERE crime_details.report_ID =BA-12-00002 

WHERE crime_details.report_ID = "BA-12-00002" 
相關問題