쿼리 헬퍼 함수

쿼리 실행으로부터 얻는 정보

$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'

참고

값은 자동으로 이스케이프되어 더 안전한 쿼리를 생성합니다.