我正处于使用Codeigniter进行MySQL查询的情况,并且我有很多字段值请求都是相同的。
示例:
$this->db->query('SELECT * FROM abc WHERE user_id = ? AND msg_from = ? AND msg_to != ?', [$id, $id, $id]);
这只有3个问号,但我正在处理的查询是巨大的,并且有19个问号,它们都是同一个变量。
所以我试图找出如何告诉Codeigniter所有问号都指向同一个变量,而不必用相同变量的19倍填充数组。
我想到了一个for循环,但我想知道是否存在快捷方式。
答案 0 :(得分:1)
您应该能够非常轻松地使用Codeigniters Query Builder
这样的事情应该有效:
$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();