Mysql 在where_中使用内爆函数的Codeigniter查询生成器

Mysql 在where_中使用内爆函数的Codeigniter查询生成器,mysql,sql,codeigniter,implode,where-in,Mysql,Sql,Codeigniter,Implode,Where In,以下是我使用内爆函数进行的常规sql查询: SELECT * from search_result WHERE skills IN ('".implode("','",$s_id)."'); 现在我想把它转换成codeigniter形式。我尝试了以下代码,但失败了 $this->db->from('search_result'); $this->db->where_in('skills','".implode("','",$s_id)."'); $query = $

以下是我使用内爆函数进行的常规sql查询:

SELECT * from search_result WHERE skills IN ('".implode("','",$s_id)."');  
现在我想把它转换成codeigniter形式。我尝试了以下代码,但失败了

$this->db->from('search_result');
$this->db->where_in('skills','".implode("','",$s_id)."');
$query = $this->db->get();  
这是我的
$s_id
数组:

Array ( [0] => 2D Design [1] => 3D Design [2] => 3D Modelling ) 

所以请任何人帮我做这件事。提前感谢:)

官方文件说的

$names = array('Frank', 'Todd', 'James'); # Data Array 
$this->db->where_in('username', $names); # passing array

试试下面这样

方法01(推荐)

方法02

$this->db->from('search_result');
$this->db->where_in('skills',implode("','",$s_id));
$query = $this->db->get();

这行有什么问题

$this->db->where_in('skills','".implode("','",$s_id)."');
不要用
引号来包装函数。这样它将获得另存为字符串的值并保存到数据库中


链接

$names = array('Frank', 'Todd', 'James'); # Data Array 
$this->db->where_in('username', $names); # passing array

  • 你可以这样写:

    $this->db->from('search_result');
    $this->db->where_in('skills', $s_id);
    $query = $this->db->get();
    

    $names=array('Frank','Todd','James')

    $this->db->where_in('username',$names)

    //产生:其中用户名为('Frank'、'Todd'、'James')


    通过
    $s_id
    作为array@AbdullaNilam你能举个例子吗..添加
    $s\u id
    values@AbdullaNilam请检查我的更新检查下面的答案