使用CodeIgniter上的重复值查询数据绑定

时间:2017-12-19 10:59:41

标签: php mysql codeigniter data-binding

假设我有这样的查询:

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

1 个答案:

答案 0 :(得分:1)

Codeigniter似乎不提供命名绑定,因此当所有值相同时的解决方法是使用array_fill

array_fill(0, 5, 23);

将产生:

Array
(
    [0] => 23
    [1] => 23
    [2] => 23
    [3] => 23
    [4] => 23
)