Codeginter $this->db->where() function concating "IS NULL" in query automatically when using find_in_set() function

Aabshar Pasha picture Aabshar Pasha · Jul 7, 2013 · Viewed 9.5k times · Source

I am writing a query in codeigniter with 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 yielding

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? Thank you..

Answer

Michael Krikorev picture Michael Krikorev · Jul 7, 2013

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