簡體   English   中英

來自MYSQL的值將為空

[英]Value from MYSQL is coming null

我正在使用爆破功能從Codeignitor中獲取代碼。 這是代碼

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

問題是我無法獲取數據

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

當我嘗試在mysql工作台中手動輸入此數據庫查詢時,它正在工作,但是通過代碼顯示空值。 代碼中缺少什么嗎? 請指導我。 以下是我的輸出。

產量

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] => 
)

您應該在查詢中使用FIND_IN_SET子句:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM