-
[CodeIgniter] 데이터베이스(Database) 쿼리 실행 및 결과 생성프로그래밍/CodeIgniter 2018. 5. 29. 14:23
▶CodeIgniter 데이터베이스(Database) 쿼리 실행 및 결과 생성
▶설명
이전에 자세히 설명하지 않았던, 쿼리 실행 및 결과 생성에 대해 작성하도록 하겠습니다.
자주 사용하는 내용만 정리할 것이기 때문에, 자세한 내용은 아래를 참고하시기 바랍니다.
- 쿼리 실행 : http://www.ciboard.co.kr/user_guide/kr/database/queries.html
- 쿼리 결과 생성 : http://www.ciboard.co.kr/user_guide/kr/database/results.html
▶쿼리 실행
단순히 쿼리 실행하는 것은 간단합니다.
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)로 결과를 반환합니다.
▶마치며
이 외에도 여러 함수가 있지만, 자세한 사항은 매뉴얼을 참고 바랍니다.
'프로그래밍 > CodeIgniter' 카테고리의 다른 글
[CodeIgniter] 데이터베이스(Database) 쿼리 빌더 - SELECT (0) 2018.09.18 [CodeIgniter] 데이터베이스(Database) 쿼리 함수 (1) 2018.08.19 [CodeIgniter] 다수의 데이터베이스(Database) 사용하기 (1) 2018.05.27 [CodeIgniter] 데이터베이스(Database) 시작하기 (2) 2018.04.22 [CodeIgniter] 모델 (Models) (3) 2018.04.08