[CodeIgniter] DataBase 접속 설정하기[CodeIgniter] DataBase 접속 설정하기
Posted at 2019. 7. 25. 17:06 | Posted in PHP/CodeIgniter참고 : http://www.ciboard.co.kr/user_guide/kr/database/configuration.html
■ 코드이그나이터에서 DB 접속 설정하기
/application/config/database.php에 사용자, 비밀번호, HOST, 데이터베이스명을 입력해야 한다.
/application/config/database.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /* 주 석 생 략 */ $active_group = "default"; $query_builder = TRUE; /* $db['default'] = array( "dsn" => "" , "hostname" => "IP주소" , "username" => "DB접속계정" , "password" => "계정비밀번호" , "database" => "DB이름" , "dbdriver" => "mysqli" , "dbprefix" => "" , "pconnect" => FALSE // pconnect 값이 TRUE일 사용할 경우 웹 호스팅 환경에서는 실행이 되지 않는다. , "db_debug" => (ENVIRONMENT !== "production") , "cache_on" => FALSE , "cachedir" => "" , "char_set" => "utf8" , "dbcollat" => "utf8_general_ci" , "swap_pre" => "" , "encrypt" => FALSE , "compress" => FALSE , "stricton" => FALSE , "failover" => array() , "save_queries" => TRUE ); */ // DB 설정 $db['default']['dsn'] = ""; $db['default']['hostname'] = "DB IP주소"; $db['default']['username'] = "DB접속계정 아이디"; $db['default']['password'] = "DB접속계정 비밀번호"; $db['default']['database'] = "DB 이름"; $db['default']['dbdriver'] = "mysqli"; $db['default']['port'] = "3306"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = FALSE; // pconnect 값이 TRUE일 사용할 경우 웹 호스팅 환경에서는 실행이 되지 않는다. $db['default']['db_debug'] = (ENVIRONMENT !== "production"); $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci"; $db['default']['swap_pre'] = ""; $db['default']['encrypt'] = FALSE; $db['default']['compress'] = FALSE; $db['default']['stricton'] = FALSE; $db['default']['failover'] = array( ); $db['default']['save_queries'] = TRUE; $arrParseUrl = parse_url ( $_SERVER[ 'HTTP_HOST' ] ); if( ( isset ( $_SERVER[ 'HTTPS' ] ) && $_SERVER[ 'HTTPS' ] == "on" ) ) { $arrParseUrl[ 'scheme' ] = "https"; } else { $arrParseUrl[ 'scheme' ] = "http"; } if ( strlen ( trim ( $db['default']['hostname'] ) ) == 0 ) {
echo( "#############################################################################" ); echo "</br> default DBMS 접속 호스트 정보가 정확하지 않습니다. </br>\n\n"; echo "<pre>"; var_export( $arrParseUrl ); echo "</pre>"; exit( "-----------------------------------------------------------------------------" ); echo "<pre>"; var_export( $db ); echo "</pre>"; exit( "#############################################################################" ); } |
※ 데이타베이스 설정값
환경값 |
설 명 |
dsn |
· DSN 연결문자 |
hostname |
· 데이터베이스 서버의 IP주소 · 같은 서버일경우 localhost, 120.0.0.1 |
username |
· 데이터베이스의 사용자 아이디 |
password |
· 데이터베이스의 사용자 비밀번호 |
database |
· 연결하고자 하는 데이터베이스 이름 |
dbdriver | · 데이터베이스 타입 · mysqli, postgre, odbc, etc등 · 반드시 소문자 여야만 한다. |
port |
· 데이터베이스 포트 번호 |
dbprefix |
· Query Builder를 사용할 경우 테이블명에 자동으로 접두어를 붙임 · 하나의 데이터베이스로 여러개의 CodeIgniter를 사용할 때 유용함 |
pconnect |
· 영속적연결(Persistent Connection)을 사용할 것인지 말것인지 결정한다. · BOOLEAN 타입( TRUE / FALSE ) |
db_deboug |
· 데이터베이스 에러를 표시할지 말지를 결정 · BOOLEAN 타입( TRUE / FALSE ) |
cache_on | · 데이터베이스 쿼리를 캐시할 것인지를 결정(쿼리를 텍스트 파일로 캐싱하여 데이터베이스의 부하를 줄인다.) · BOOLEAN 타입( TRUE / FALSE ) |
cachedir | · 데이터베이스 쿼리 캐시가 저장될 절대경로 |
char_set | · 데이터베이스와 통신할 때 사용할 문자셋 |
dbcollat | · 데이터베이스와 통신할 때 사용되는 문자열 대조법(Character Collation) · 'mysql'과 'mysqli' 드라이버에서만 사용된다. |
swap_pre | · 기본 테이블 접두어가 dbprefix에서 교체된다. · 수동으로 작성된 쿼리를 실행하고, 최종 사용자에 의해 변환될 때 접두어가 여전히 필요할 때 유용하다. |
schema | · 데이터베이스 스키마, "public"이 기본이다. · PostgreSQL 및 ODBC 드라이버에서 사용한다. |
encrypt | · 암호화 연결을 사용할지 결정 |
compress | · 클라이언트 압축을 사용할지를 결정한다. · MySQL 전용이다. |
stricton | · 스트릭 모드 연결을 강제로 사용할지 여부를 선택한다. · 어플리케이션을 개발하는 동안 엄격한 SQL을 보장하기 위해 좋다. · BOOLEAN 타입( TRUE / FALSE ) |
/application/models/데이터베이스_처리_모델.php |
<?php if ( ! defined("BASEPATH")) exit("No direct script access allowed"); class 데이터베이스_처리_모델 extends CI_Model { public $dbObj = null; public function __construct() { parent::__construct(); $this->dbObj = $this->load->database( "default", TRUE ); if( $this->dbObj->initialize() == FALSE ) { echo "데이타 베이스 접속에 실패 하였습니다."; exit; } else { echo "데이타 베이스 접속에 성공 하였습니다."; } } } |
# 출력결과
'PHP > CodeIgniter' 카테고리의 다른 글
CI 서브 폴더 사용 (0) | 2021.02.17 |
---|---|
[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정 (0) | 2020.02.12 |
[CodeIgniter] 폼 검증하기 (0) | 2019.12.17 |
[CodeIgniter] 컨트롤러(Controllers) 사용방법 (0) | 2019.07.31 |
[CodeIgniter] 리눅스 환경에 코드이그나이터 세팅하기 (0) | 2019.07.23 |