phpcodeigniteractiverecordquery-builderfind-in-set

CodeIgniter's where() method is concatenating "IS NULL" in the rendered query when using FIND_IN_SET()


I am writing a query in CodeIgniter with the FIND_IN_SET() function.

$this->db->where(FIND_IN_SET('" . $value . "',employer_job_location));
$query_res = $this->db->get("employer_posted_jobs");
echo $this->db->last_query();
exit;

It is rendering:

SELECT * 
FROM (`employer_posted_jobs`) 
WHERE (FIND_IN_SET('Delhi',employer_job_location)) IS NULL

In above query "IS NULL" is extra and it is very annoying. Can anyone tell why this is coming with the query?


Solution

  • You must always check the results from the FIND_IN_SET() function somehow to make it work, try this:

    $this->db->where("FIND_IN_SET('$value',employer_job_location) !=", 0);