CodeIgniter User Guide Version 1.7.2


쿼리 헬퍼 함수들(Query Helper Functions)

$this->db->insert_id()

데이터베이스에 레코드를 삽입할때 최종 입력된 레코드의 pk를 반환합니다. (mysql, auto_increment 설정시)

mysql_insert_id()와 동일

$this->db->affected_rows()

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

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

$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();

$this->db->last_query();

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

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

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

아래 두 함수는 INSERT와 UPDATE를 보다 간단하게 할수있도록 해줍니다.

$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: Values are automatically escaped, producing safer queries.

$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: Values are automatically escaped, producing safer queries.