codeigniter数据库选择数据时出错

时间:2012-11-30 19:18:11

标签: mysql 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函数进行查询。

2 个答案:

答案 0 :(得分:2)

crime_details.report_ID持有VARCHAR,因此您的条件应为

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

即,您需要将值包装在引号中。

此外,您应该使用ActiveRecord的查询构建器,而不是使用$this->db->query()来运行您手写的MySQL查询,而构建器将为您处理此问题。例如,你可以做到:

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

答案 1 :(得分:1)

更改

WHERE crime_details.report_ID =BA-12-00002

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