2011-01-05 2 views

답변

30

CodeIgniter는 쿼리 결과를 수행 할 수있는 몇 가지 방법을 제공합니다.

여기를 참조하십시오 :

result()https://ellislab.com/codeigniter/user-guide/database/results.html는 PHP 객체의 배열을 반환합니다.

row()는 해당 행에 대해 단일 PHP 객체를 반환합니다.

result_array()은 배열의 배열을 반환합니다.

row_array()은 해당 행에 대해 단일 배열을 반환합니다.

row()row_array()은 선택적으로 반환 할 행 번호의 매개 변수를 사용합니다.

너머에 무엇을 요구하는지 정확히 말하기 어렵습니다. 이러한 방법으로 원하는대로 정확하게 데이터를 가져올 수 있어야합니다.

편집는 : 쿼리 개체가 $this->db->get() 호출에서 반환을 통해

덧붙여, 이러한 방법에 액세스하는 방법은 다음과 같습니다

$query = $this->db->get(); 

$rows = $query->result(); //array of objects 
$rows_array = $query->result_array(); //array of arrays 
$row = $query->row(); //single object 
$row_array = $query->row_array(); //single array 
+3

이 대답을 사랑하고, 여러 번 여기에 왔습니다. – qwerty

+0

@qwerty 듣기 좋게 :) – treeface

+0

이 대답은 나에게 거의 깨달았습니다. 감사. – Mirage

1

$this->db->get();을 사용하면 $this->db->result();을 사용하여 배열 객체를 반환 할 수 있습니다.

$query = $this->db->get('table_name'); 

foreach ($query->result() as $row) 
{ 
    echo $row->title; 
} 

참조 : 데이터베이스에서 결과 집합을 얻는 방법에 대한 자세한 내용은 http://codeigniter.com/user_guide/database/results.html을 참조하십시오.

0

대신 $ this-> DB->) (취득 $ this-> db-> row_array();를 사용하십시오.

$this->db->select('id, user_id')->from('be_users')->where('id',$user_id); 
$data['user_individual'] = $this->db->row_array(); 
+0

이것은 옵션이 아닙니다. –

0

/** * format_database_array * * 당신이 배열

  • @access 공공
  • 파라미터 : 문자열 $ db_object에 데이터베이스 개체 데이터 형식을 수 있습니다 : 데이터베이스 쿼리 개체
  • @return String : 데이터 배열 반환 */

if (! function_exists) ('format_database_array') {

function format_database_array($db_object) 
{ 
    $db_array = array(); 

    if($db_object-> num_rows >0) 
    { 
     foreach ($db_object->result_array() as $row) 
     { 
      foreach ($row as $key => $value) 
      { 
       $db_array[$key] = $value; 
      } 
     } 
    } 

    return $db_array; 
} 

}

관련 문제