使用CodeIgniter上的重复值查询数据绑定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用CodeIgniter上的重复值查询数据绑定相关的知识,希望对你有一定的参考价值。
假设我有这样的查询:
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);
答案
Codeigniter似乎不提供命名绑定,因此当所有值相同时的解决方法是使用array_fill:
array_fill(0, 5, 23);
会产生:
Array
(
[0] => 23
[1] => 23
[2] => 23
[3] => 23
[4] => 23
)
以上是关于使用CodeIgniter上的重复值查询数据绑定的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 和 codeigniter 隐藏检索到的数据值的重复部分
从codeigniter中的数据库查询向视图添加动态数据时未定义的变量[重复]