Codeigniter $this->db->get(), how do I return values for a specific row?

前端 未结 5 1383
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-07 19:19

Say I have a database table with three columns: ID, Name, and Age. I need to find the user with a specific (unique) ID, and then return the age. Currently, I am using the fo

相关标签:
5条回答
  • 2020-12-07 19:53

    You simply use this in one row.

    $query = $this->db->get_where('mytable',array('id'=>'3'));
    
    0 讨论(0)
  • 2020-12-07 19:55

    SOLUTION ONE

    $this->db->where('id', '3');
    // here we select every column of the table
    $q = $this->db->get('my_users_table');
    $data = $q->result_array();
    
    echo($data[0]['age']);
    

    SOLUTION TWO

    // here we select just the age column
    $this->db->select('age');
    $this->db->where('id', '3');
    $q = $this->db->get('my_users_table');
    $data = $q->result_array();
    
    echo($data[0]['age']);
    

    SOLUTION THREE

    $this->db->select('age');
    $this->db->where('id', '3');
    $q = $this->db->get('my_users_table');
    // if id is unique, we want to return just one row
    $data = array_shift($q->result_array());
    
    echo($data['age']);
    

    SOLUTION FOUR (NO ACTIVE RECORD)

    $q = $this->db->query('SELECT age FROM my_users_table WHERE id = ?',array(3));
    $data = array_shift($q->result_array());
    echo($data['age']);
    
    0 讨论(0)
  • 2020-12-07 19:55

    Incase you are dynamically getting your data e.g When you need data based on the user logged in by their id use consider the following code example for a No Active Record:

     $this->db->query('SELECT * FROM my_users_table WHERE id = ?', $this->session->userdata('id'));
    
     return $query->row_array();
    

    This will return a specific row based on your the set session data of user.

    0 讨论(0)
  • 2020-12-07 19:58

    you can use row() instead of result().

    $this->db->where('id', '3');
    $q = $this->db->get('my_users_table')->row();
    
    0 讨论(0)
  • 2020-12-07 19:58

    Accessing a single row

    //Result as an Object
    $result = $this->db->select('age')->from('my_users_table')->where('id', '3')->limit(1)->get()->row();
    echo $result->age;
    
    //Result as an Array
    $result = $this->db->select('age')->from('my_users_table')->where('id', '3')->limit(1)->get()->row_array();
    echo $result['age'];
    
    0 讨论(0)
提交回复
热议问题