3

データベースからのデータの選択に問題があります。次のエラーが表示されます

 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 の機能を使用しています。

4

2 に答える 2

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' ));
于 2012-11-30T20:03:03.450 に答える
1

変化する

WHERE crime_details.report_ID =BA-12-00002

WHERE crime_details.report_ID = "BA-12-00002"
于 2012-11-30T20:02:28.797 に答える