복붙노트

[SQL] CodeIgniter는 $ this-> DB->의 get (), 어떻게 특정 행에 대한 값을 반환합니까?

SQL

CodeIgniter는 $ this-> DB->의 get (), 어떻게 특정 행에 대한 값을 반환합니까?

ID, 이름, 나이 : 나는 세 개의 열이있는 데이터베이스 테이블을 말해봐. 나는 특정 (독특한) ID와 사용자를 찾은 다음 시대를 반환해야합니다. 현재, 나는 다음과 같은 코드를 사용하고

$this->db->where('id', '3');
$q = $this->db->get('my_users_table');

어떻게하면이 사용자의 나이를 받고 가야합니까? 내가 사용하는 생각

$q->result()

그러나하지 않도록 한 행으로 사용하는 방법.

해결법

  1. ==============================

    1.해결책 ONE

    해결책 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']);
    

    해결 방법 2

    // 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']);
    

    해결 방법 3

    $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']);
    
  2. ==============================

    2.당신이 행 () 대신의 결과를 사용할 수 있습니다 ().

    당신이 행 () 대신의 결과를 사용할 수 있습니다 ().

    $this->db->where('id', '3');
    $q = $this->db->get('my_users_table')->row();
    
  3. ==============================

    3.단일 행에 액세스

    단일 행에 액세스

    //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'];
    
  4. ==============================

    4.당신은 단순히 하나 개의 행이를 사용합니다.

    당신은 단순히 하나 개의 행이를 사용합니다.

    $query = $this->db->get_where('mytable',array('id'=>'3'));
    
  5. ==============================

    5.당신은 사용자에 따라 데이터를 필요로 할 때 동적 예컨대 데이터를 받고 넣다 자신의 ID를 사용하여 로그인 아니요 액티브 레코드에 대해 다음 코드 예제를 고려하십시오

    당신은 사용자에 따라 데이터를 필요로 할 때 동적 예컨대 데이터를 받고 넣다 자신의 ID를 사용하여 로그인 아니요 액티브 레코드에 대해 다음 코드 예제를 고려하십시오

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

    이 사용자의 사용자 설정 세션 데이터를 기반으로 특정 행을 반환합니다.

  6. from https://stackoverflow.com/questions/8541291/codeigniter-this-db-get-how-do-i-return-values-for-a-specific-row by cc-by-sa and MIT license