笨参数整数和字符串
问题描述:
$code = Array(1,2,3,4)
$sql = "SELECT * FROM Table1 WHERE Field1 IN (?)";
$query = $this->db->query($sql, array($code));
$this->db->last_query()
将显示笨参数整数和字符串
"SELECT * FROM Table1 WHERE Field1 IN ('1,2,3,4')"
如何删除单引号在IN条件?
即使$code
是一个字符串数组,例如
$code = Array('This one', 'Next code', 'And this')
的声明将是:
"SELECT * FROM Table1 WHERE Field1 IN ('This one, Next Code, And This')"
我缺少的东西?
TIA。
答
可以使用这种简单的和备用方式
$this->db->where_in('Field1',$code);
$this->db->get('Table1');
答
从笨活性记录manual
$这 - > DB->其中()接受一个可选的第三个参数。如果您将其设置为FALSE,CodeIgniter将不会尝试使用反引号来保护您的字段或表 名称。
$this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE);
所以,把第三个参数上的WHERE子句与FALSE
然后将查询应该是
$this->db->select('*')
->where('Field1 IN('.$code.'),NULL,FALSE)
->get('Table1');