Codeigniter查询绑定具有相同值的多个字段
我正在使用Codeigniter进行MySQL查询,并且有很多字段都是相同的值请求 例如:Codeigniter查询绑定具有相同值的多个字段,codeigniter,Codeigniter,我正在使用Codeigniter进行MySQL查询,并且有很多字段都是相同的值请求 例如: $this->db->query('SELECT * FROM abc WHERE user_id = ? AND msg_from = ? AND msg_to != ?', [$id, $id, $id]); 这只有3个问号,但我正在处理的查询非常庞大,有19个问号,它们都是相同的变量 所以我想知道如何告诉Codeigniter所有的问号都指向同一个变量,而不必用同一个变量的19倍填充数
$this->db->query('SELECT * FROM abc WHERE user_id = ? AND msg_from = ? AND msg_to != ?', [$id, $id, $id]);
这只有3个问号,但我正在处理的查询非常庞大,有19个问号,它们都是相同的变量
所以我想知道如何告诉Codeigniter所有的问号都指向同一个变量,而不必用同一个变量的19倍填充数组
我想到了for循环,但我想知道是否存在快捷方式。使用Codeigniters查询生成器,您应该能够非常轻松地完成此操作 类似的方法应该会奏效:
$this->db
->select('*')
->from('abc');
$arrFields = array('users_id', 'msg_from', 'msg_to');
foreach($arrFields AS $val)
{
$this->db->where($val, $id);
}
$query = $this->db->get();
好的,但是我的查询有19个字段,因为它很复杂,我不会使用内置的CI函数(
db->select
,db->where
等等),我需要使用db->query()
,有什么原因吗?因为我无法想象在任何情况下,除了一些非常困难的聚合函数外,我在构建器上都会遇到问题——不过,如果你不想用querybuilder来实现这一点,我想你必须自己来完成吗?;)