프로그래밍/CodeIgniter

[CodeIgniter] 데이터베이스(Database) 쿼리 실행 및 결과 생성

떨어지는 용 2018. 5. 29. 14:23

▶CodeIgniter 데이터베이스(Database) 쿼리 실행 및 결과 생성



▶설명


이전에 자세히 설명하지 않았던, 쿼리 실행 및 결과 생성에 대해 작성하도록 하겠습니다.

자주 사용하는 내용만 정리할 것이기 때문에, 자세한 내용은 아래를 참고하시기 바랍니다.


▶쿼리 실행



단순히 쿼리 실행하는 것은 간단합니다.


query() 함수

예시

$this->db->query('SELECT id, name FROM members');


특징

  • 데이터를 읽어오는 쿼리 실행시 결과 객체를 반환합니다.
  • 결과 객체쿼리 결과 생성에서 사용할 수 있습니다.
  • 입력과 수정 쿼리를 실행하면 성공 여부에 따라 TRUE나 FALSE를 반환합니다.


query() 결과를 변수에 할당

$query = $this->db->query('SELECT id, name FROM members');


▶쿼리 결과 생성


쿼리 결과 생성은 실행한 쿼리에 데이터를 실제로 사용하기 위해 필요한 작업입니다.

쿼리 결과를 생성하는데 사용하는 방법 중 주로 사용하는 것만 정리하였습니다.


result() 함수

예시

$query = $this->db->query("SELECT id, name FROM members");
foreach ($query->result() as $row) { echo $row->id; echo $row->name; }


특징

  • 쿼리 결과를 객체 배열로 반환합니다.
  • 실패 시에는 빈 배열을 반환합니다.


바로 결과 받기

$result = $this->db->query("SELECT id, name FROM members")->result();
foreach ($result as $row) { echo $row->id; echo $row->name; }

위에처럼 사용할 수도 있습니다.


result_array() 함수

예시

$query = $this->db->query("SELECT id, name FROM members");
foreach ($query->result_array() as $row) { echo $row['id']; echo $row['name']; }


특징

  • 쿼리 결과를 배열로 반환합니다.
  • 실패 시에는 빈 배열을 반환합니다.

result_array() 함수

예시

$query = $this->db->query("SELECT id, name FROM members");
foreach ($query->result_array() as $row) { echo $row['id']; echo $row['name']; }


특징

  • 쿼리 결과를 배열로 반환합니다.
  • 실패 시에는 빈 배열을 반환합니다.


num_rows() 함수

예시

$query = $this->db->query("SELECT id, name FROM members");
echo $query->num_rows();


특징

  • 쿼리 결과열의 갯수를 반환합니다.


row() 함수

예시

$query = $this->db->query("SELECT id, name FROM members");
if ($query->num_rows() > 0) { $row = $query->row(); echo $row->id; echo $row->name; }


특징

  • 한 줄의 결과를 반환합니다.
  • 쿼리가 한 줄 이상인 경우 첫번째 줄만 반환합니다.
  • 결과는 객체(object)로 반환합니다.
  • 특정열의 결과를 받고 싶다면, 첫 번째 파라미터에 열 번호를 전달합니다.


2번째 열 가져오기

$query = $this->db->query("SELECT id, name FROM members");
if ($query->num_rows() > 0) { $row = $query->row(2); echo $row->id; echo $row->name; }


row_array() 함수

예시

$query = $this->db->query("SELECT id, name FROM members");
if ($query->num_rows() > 0) { $row = $query->row_array(); echo $row['id']; echo $row['name']; }


특징

  • row() 함수와 동일하지만 배열(array)로 결과를 반환합니다.


▶마치며


이 외에도 여러 함수가 있지만, 자세한 사항은 매뉴얼을 참고 바랍니다.