假设我有这样的查询:
SELECT *
FROM table
WHERE table.a = 23
AND table.b = 23
AND (23 - table.c)/23 > 0.2
这可能没有任何意义,因为它只是一个例子。我的真实查询比这个查询大得多。如您所见,要绑定的所有值都是等于。
那么,如果所有?
都是相同的数据,我怎样才能对此查询使用CodeIgniter数据绑定?
在数组上重复这样的值看起来很奇怪:
$sql = "SELECT *"
." FROM table"
." WHERE table.a = ?"
." AND table.b = ?"
." AND (? - table.c)/? > 0.2";
$this->db->query($sql, array(23, 23, 23, 23);
答案 0 :(得分:1)
Codeigniter似乎不提供命名绑定,因此当所有值相同时的解决方法是使用array_fill:
array_fill(0, 5, 23);
将产生:
Array
(
[0] => 23
[1] => 23
[2] => 23
[3] => 23
[4] => 23
)