codeigniter数据库选择数据时出错(codeigniter database error in selecting data)

编程入门 行业动态 更新时间:2024-10-27 23:19:04
codeigniter数据库选择数据时出错(codeigniter database error in selecting data)

我在从数据库中选择数据时遇到问题。 它向我显示以下错误

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我认为问题是由我的查询中的破折号或连字符引起的。 我使用codeigniter的$this->db-query()函数进行查询。

I'm having a problem with selecting data from my database. It show me following error

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

It seems like the problem is in this part WHERE crime_details.report_ID =BA-12-00002 I think the problem was caused by the dashes or hyphens in my query. Im using $this->db-query() function of codeigniter for my queries.

最满意答案

crime_details.report_ID包含一个VARCHAR ,因此你应该在哪里

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' ));

crime_details.report_ID holds a VARCHAR, so your where condition should be

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

i.e., you need to wrap the value in quotes.

Also, instead of using $this->db->query() to run your hand-written MySQL query, you should use ActiveRecord's query builder which would have taken care of this for you. For example, you could have done:

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

更多推荐

本文发布于:2023-07-24 17:19:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1248831.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   数据   codeigniter   database   data

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!