쿼리 헬퍼 함수¶
쿼리 실행으로부터 얻는 정보¶
$this->db->insert_id()
데이터베이스 insert를 수행할 때의 insert ID 번호입니다.
참고
PDO 드라이버를 PostgreSQL과 함께 사용하거나 Interbase 드라이버를 사용하는 경우 이 함수에는 insert ID를 확인할 적절한 시퀀스를 지정하는 $name 매개변수가 필요합니다.
$this->db->affected_rows()
“쓰기” 유형 쿼리(insert, update 등)를 수행할 때 영향을 받은 행의 수를 표시합니다.
참고
MySQL의 “DELETE FROM TABLE”은 영향을 받은 행을 0으로 반환합니다. 데이터베이스 클래스에는 올바른 영향을 받은 행 수를 반환할 수 있게 하는 소규모 해결책이 있습니다. 기본적으로 이 해결책은 활성화되어 있지만 데이터베이스 드라이버 파일에서 비활성화할 수 있습니다.
$this->db->last_query()
마지막으로 실행된 쿼리(결과가 아닌 쿼리 문자열)를 반환합니다. 예시:
$str = $this->db->last_query();
// 결과: SELECT * FROM sometable....
참고
데이터베이스 설정에서 save_queries 설정을 비활성화하면 이 함수가 쓸모없게 됩니다.
데이터베이스 정보¶
$this->db->count_all()
특정 테이블의 행 수를 확인할 수 있습니다. 첫 번째 매개변수에 테이블 이름을 제출하세요. 예시:
echo $this->db->count_all('my_table');
// 25와 같은 정수를 출력합니다
$this->db->platform()
실행 중인 데이터베이스 플랫폼(MySQL, MS SQL, Postgres 등)을 출력합니다:
echo $this->db->platform();
$this->db->version()
실행 중인 데이터베이스 버전을 출력합니다:
echo $this->db->version();
쿼리를 쉽게 작성하기¶
$this->db->insert_string()
이 함수는 데이터베이스 insert 작성 과정을 단순화합니다. 올바르게 포맷된 SQL insert 문자열을 반환합니다. 예시:
$data = array('name' => $name, 'email' => $email, 'url' => $url);
$str = $this->db->insert_string('table_name', $data);
첫 번째 매개변수는 테이블 이름이고, 두 번째는 insert할 데이터를 가진 연관 배열입니다. 위의 예시는 다음을 생성합니다:
INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')
참고
값은 자동으로 이스케이프되어 더 안전한 쿼리를 생성합니다.
$this->db->update_string()
이 함수는 데이터베이스 update 작성 과정을 단순화합니다. 올바르게 포맷된 SQL update 문자열을 반환합니다. 예시:
$data = array('name' => $name, 'email' => $email, 'url' => $url);
$where = "author_id = 1 AND status = 'active'";
$str = $this->db->update_string('table_name', $data, $where);
첫 번째 매개변수는 테이블 이름이고, 두 번째는 업데이트할 데이터를 가진 연관 배열이며, 세 번째 매개변수는 “where” 절입니다. 위의 예시는 다음을 생성합니다:
UPDATE table_name SET name = 'Rick', email = 'rick@example.com', url = 'example.com' WHERE author_id = 1 AND status = 'active'
참고
값은 자동으로 이스케이프되어 더 안전한 쿼리를 생성합니다.