使用FIND_IN_SET和多个搜索字符串Codeigniter搜索逗号相关值


Searching comma related value with FIND_IN_SET with multiple search string Codeigniter

我正在使用FIND_IN_SET从数据库中获取类似的逗号相关值,我面临的问题是,如果在字符串中我传递单个值,它会准确搜索,但如果我在字符串中发送多个值,它将无法搜索

$search  = "FIND_IN_SET('".$toteach."', level_whometoteach)";
$this->db->where($search);
        $query=$this->db->get();
        return $result = $query->result();

如果这里$toteach=5并且在level_hometotech 5中存在,则搜索并给出结果,但是如果,

$teach=5,6 and level_whometoteach contains 5,6 no value is returned 

我能知道做这个的正确方法吗

好吧,FIND_IN_SET将检查用逗号分隔的各个值。在您的情况下,应该使用IN子句。

请尝试此查询。

    $search  = "level_whometoteach IN (".$toteach.")";
    $this->db->where($search);
    $query=$this->db->get();
    return $result = $query->result();