dqnrk44682
dqnrk44682
2017-12-19 10:59
浏览 101
已采纳

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

Suppose I have a query like that:

SELECT *
FROM table
WHERE table.a = 23
AND table.b = 23
AND (23 - table.c)/23 > 0.2

This may not have any sense because it is just an example. My real query is much bigger than this one. As you can see, all the values to be binded are equals.

So, how can I use CodeIgniter data binding for this query if all ? are the same data?

Repeting values like this on an array looks strange on code:

$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条回答 默认 最新

  • dqrfdl5708
    dqrfdl5708 2017-12-19 11:15
    已采纳

    Codeigniter doesn't seem to provide named bindings, so a workaround for when all the values are the same would be to use array_fill:

    array_fill(0, 5, 23);
    

    Will produce:

    Array
    (
        [0] => 23
        [1] => 23
        [2] => 23
        [3] => 23
        [4] => 23
    )
    
    点赞 评论

相关推荐