[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;


$arrParseUrlparse_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 "데이타 베이스 접속에 성공 하였습니다.";

        }

    }

}




# 출력결과





반응형
//