笨参数整数和字符串

问题描述:

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