Japs
Japs

Reputation: 47

Value from MYSQL is coming null

I am fetching code from codeignitor using implode function. here is the code

$this->load->database();
        $session_data = $this->session->userdata('logged_in');
        $user_id = $session_data['user_id'];

        $this->db->select('skill_id');
        $this->db->from('user_info_skillset');
        $this->db->where('user_id',$user_id);
        $query = $this->db->get();
        foreach($query->result() as $row)
        {
            $skill_id[] = $row->skill_id;
        }

        $test = implode(',',$skill_id);

//        echo '<pre />';
//                print_r($test); exit;
        $this->db->select('project_id');
        $this->db->from('project');
        $this->db->where_in('required_skills',$test);
        $query1 = $this->db->get();

        echo '<pre />';
                print_r($query1); exit;
        return $query1->result();

The problem is i can not able to fetch data for

  echo '<pre />';
                print_r($query1); exit;
        return $query1->result();

When i try enter this database query manually in mysql workbench it is working, but by code it displays null value. is that anything missing in code? please guide me. below is my output.

Output

CI_DB_mysql_result Object
(
    [conn_id] => Resource id #34
    [result_id] => Resource id #38
    [result_array] => Array
        (
        )

    [result_object] => Array
        (
        )

    [custom_result_object] => Array
        (
        )

    [current_row] => 0
    [num_rows] => 0
    [row_data] => 
)

Upvotes: 1

Views: 69

Answers (1)

Nil&#39;z
Nil&#39;z

Reputation: 7475

You should use the FIND_IN_SET clause in your query:

$test = implode(',',$skill_id);
$where  = " FIND_IN_SET(required_skills,'".$test."') ";
$this->db->select('project_id');
$this->db->from('project');
$this->db->where( $where, false );
//$this->db->where_in('required_skills',$test);
$query1 = $this->db->get();

Upvotes: 1

Related Questions