쿼리 헬퍼 함수들 Query Helper Methods

쿼리 실행 정보 Information From Executing a Query

$this->db->insert_id()

데이터베이스에 레코드를 삽입할 때 아이디번호.

Note

PostgreSQL 과 함께 PDO 드라이버를 사용하거나, 인터베이스 드라이버를 사용하는 경우, 이 함수는 INSERT ID를 확인하기 위해 적절한 순서를 지정 $name 매개 변수가 필요합니다.

$this->db->affected_rows()

insert, update등 뭔가를 쓰는 형태의 쿼리를 수행할 때 적용된 결과 열 수를 리턴합니다.

Note

MySQL 에서 “DELETE FROM TABLE” 쿼리에 이 함수를 사용하면 0을 리턴하는 경우가 있습니다. 데이터베이스 클래스는 제대로 된 열 수를 리턴하는 방법을 핵(Hack)의 형태로 제공합니다. 기본값은 이 핵이 활성화된 상태이나, 데이터베이스 드라이버파일에서 비활성으로 바꿀 수 있습니다.

$this->db->last_query()

마지막으로 사용한 쿼리 문자열을 리턴합니다(쿼리 실행결과가 아닙니다). 예제:

$str = $this->db->last_query();

// Produces:  SELECT * FROM sometable....

Note

데이터베이스 환경설정에서 save_queries 세팅을 비활성화함으로 이 함수를 쓸모 없게 할 수 있습니다.

데이터베이스에 관한 정보 Information About Your Database

$this->db->count_all()

특정 테이블의 열 수를 리턴합니다. 테이블 이름을 첫 번째 파라미터로 전달해야 합니다. 예제:

echo $this->db->count_all('my_table');

// Produces an integer, like 25

$this->db->platform()

현재 사용 중인 데이터베이스 플랫폼(MySQL, MS SQL, Postgres, etc...)을 리턴합니다:

echo $this->db->platform();

$this->db->version()

사용 중인 데이터베이스 버전을 리턴합니다:

echo $this->db->version();

쿼리를 쉽게 사용 Making Your Queries Easier

$this->db->insert_string()

이 함수는 insert 를 간단하게 해줍니다. 함수를 실행하면, SQL insert 쿼리문을 자동으로 생성하여 리턴해 줍니다 예제:

$data = array('name' => $name, 'email' => $email, 'url' => $url);

$str = $this->db->insert_string('table_name', $data);

첫 번째 파라미터는 테이블 이름이며, 두 번째는 삽입될 데이터의 연관배열 입니다. 위 예제는 아래와 같은 쿼리문자열을 자동으로 생성해 줍니다:

INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')

Note

값은 자동으로 이스케이프 되어서, 안전한 쿼리를 제공합니다.

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

Note

값은 자동으로 이스케이프 되어서, 안전한 쿼리를 제공합니다.