CI4 56

[코드이그나이터] 데이터베이스 메타데이터

데이터베이스 메타데이터 출처: http://ci4doc.cikorea.net/database/metadata.html $db->listTables() 연결된 데이터베이스의 모든 테이블 이름이 포함된 배열을 반환 $tables = $db->listTables(); foreach ($tables as $table) { echo $table; } $db->tableExists() 테이블이 존재하는지 확인 if ($db->tableExists('table_name')) { // some code... } $db->getFieldNames() 필드명을 포함한 배열을 반환 $fields = $db->getFieldNames('table_name'); foreach ($fields as ..

CI4 2020.09.07

[코드이그나이터] 트랜잭션(Transactiion)

트랜잭션(Transactiion) 출처: http://ci4doc.cikorea.net/database/transactions.html $this->db->transStart(); $this->db->query('AN SQL QUERY...'); $this->db->query('ANOTHER QUERY...'); $this->db->query('AND YET ANOTHER QUERY...'); $this->db->transComplete(); // 엄격 모드가 사용 가능한 경우 여러 트랜잭션 그룹을 실행중인 경우 한 그룹이 실패하면 모든 그룹이 롤백 $this->db->transStrict(false); 트랜젝션 비활성화 $this->db->transOff();..

CI4 2020.09.07

[코드이그나이터] 쿼리 빌더

쿼리 빌더 출처: http://ci4doc.cikorea.net/database/query_builder.html 쿼리 빌더 로드 데이터베이스 연결의 table() 메소드를 통해 로드 $db = \Config\Database::connect(); $builder = $db->table('users'); $builder->get() SQL SELECT 문을 작성 $builder = $db->table('mytable'); $query = $builder->get(); // Produces: SELECT * FROM mytable 첫 번째와 두 번째 매개 변수를 사용하여 limit과 offset을 설정 $query = $builder->get(10, 20); // Executes..

CI4 2020.09.07

[코드이그나이터] 쿼리 헬퍼 메소드

쿼리 헬퍼 메소드 출처: http://ci4doc.cikorea.net/database/helpers.html $db->insertID() 데이터베이스 삽입을 수행할 때 삽입 ID 번호 $db->affectedRows() "쓰기" 유형 쿼리를 수행할 때 영향을 받는 행의 갯수를 표시(insert, update, etc.). $db->getLastQuery() 마지막으로 실행 된 쿼리(결과가 아닌 쿼리 문자열)를 나타내는 Query 개체를 반환 $db->countAll() 특정 테이블 행의 수를 확인 echo $db->table('my_table')->countAll(); // Produces an integer, like 25

CI4 2020.09.07

[코드이그나이터] 쿼리 결과 생성

쿼리 결과 생성 출처: http://ci4doc.cikorea.net/database/results.html getResult() 쿼리 결과를 objects의 배열로 반환하고, 실패시는 빈 배열을 반환 $query = $db->query("YOUR QUERY"); foreach ($query->getResult() as $row) { echo $row->title; echo $row->name; echo $row->body; } $query = $db->query("YOUR QUERY"); foreach ($query->getResult('array') as $row) { echo $row['title']; echo $row['name']; echo $row[&..

CI4 2020.09.07

[코드이그나이터] 쿼리실행

쿼리실행 출처: http://ci4doc.cikorea.net/database/queries.html 일반쿼리 $query = $db->query('YOUR QUERY HERE'); 데이터베이스 접두사(prefix) $db->prefixTable('tablename'); // outputs prefix_tablename $db->setPrefix('newprefix'); $db->prefixTable('tablename'); // outputs newprefix_tablename escape 처리 $sql = "INSERT INTO table (title) VALUES(".$db->escape($title).")"; 쿼리 바인딩 시스템에서 쿼리를 ..

CI4 2020.09.07

[코드이그나이터] 데이터 베이스 연결 및 종료

데이터베이스 연결 출처: http://ci4doc.cikorea.net/database/connecting.html 기본 데이터베이스 자동연결 $db = \Config\Database::connect(); 또는 $db = db_connect(); 특정 데이터베이스에 연결 $db = \Config\Database::connect('group_name'); 데이터 베이스 다중연결 $db = \Config\Database::connect('group_one'); $db1 = \Config\Database::connect('group_two'); 데이터 베이스 재연결 $db->reconnect(); 데이터 베이스 연결 종료 $db->close();

CI4 2020.09.07

[코드이그나이터] 데이터 베이스 구성

데이터베이스 구성 출처: http://ci4doc.cikorea.net/database/configuration.html 구성 파일은 app/Config/Database.php .env 파일에서 데이터 베이스의 연결값을 설정할 수 있음 SQLite3 데이터베이스의 기본 위치는 writable 폴더 오라클 등등 일부 데이터베이스 드라이버에서는 DSN 구성설정을 사용해야 함 // Oracle $default['DSN'] = '//localhost/XE'; app\Config\Database.php

CI4 2020.09.07

[코드이그나이터] 데이터 베이스의 빠른 시작

데이터 베이스의 빠른 시작 출처: http://ci4doc.cikorea.net/database/examples.html 데이터베이스 클래스 초기화 $db = \Config\Database::connect(); 여러 결과가 포함된 표준 쿼리 (객체 Version) $query = $db->query('SELECT name, title, email FROM my_table'); $results = $query->getResult(); foreach ($results as $row) { echo $row->title; echo $row->name; echo $row->email; } echo 'Total Results: ' . count($results); 여러 결과가 포함된 표..

CI4 2020.09.07