CodeIgniter - 查询绑定“IN”参数 [英] CodeIgniter - query binding "IN" parameter

查看:278
本文介绍了CodeIgniter - 查询绑定“IN”参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在CodeIgniter中有一个以下查询,我想通过参数绑定。

I have a following query in my CodeIgniter, which I'm trying to bind via parameter.

$q = "SELECT * FROM my_table WHERE id IN (?)"
$ids = "1,2,3,4";
$this->db->query($q, array($ids));

以上不工作,因为查询绑定将$ ids作为字符串。如何参数化我的查询,但仍然可以进行IN操作?

Above is not working, because the query binding treats $ids as string. How can I parameterize my query, but still be able to do "IN" operation?

EDIT

,我必须使用原始SQL查询。上面的查询只是一个更大的+复杂查询的一部分,我不能使用ActiveRecord。

sorry, I have to use "raw SQL query". Above query is just a part of a much larger + complex query, which I can't use ActiveRecord for. Also I'm using Postgres.

推荐答案

而不是字符串放在数组中

Instead of string put it in array

$q = "SELECT * FROM my_table WHERE id IN (?)"
$ids =  array(1,2,3,4);
$this->db->query($q, $ids);

您可以实现相同的事情,但不绑定

You can achieve same thing like this without binding

替代

$ids =  array(1,2,3,4);
$this->db->where_in('id',$ids);
$this->db->get('my_table');

这篇关于CodeIgniter - 查询绑定“IN”参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆