행주기씨대종중

홈페이지 운영자료

그누보드 db연결

페이지 정보

profile_image
작성자 ROOT
댓글 0건 조회 1,523회 작성일 24-02-19 12:59

본문

그누보드 디비연결은

www/data/db.config.php 파일에서 디비 접속정보가 상수로 선언되며

define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', 'dbuser');
define('G5_MYSQL_PASSWORD', 'pw');
define('G5_MYSQL_DB', 'dbname');
define('G5_MYSQL_SET_MODE', false);

www/common.php파일에서 해당 db정보를 불러와서 db를 연결.

 include_once($dbconfig_file);
 include_once(G5_LIB_PATH.'/common.lib.php');    // 공통 라이브러리

$connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');
$select_db  = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');
// mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안
$g5['connect_db'] = $connect_db;

여기서 연결에 사용되는 함수는 sql_connect, sql_select_db 라는 함수가 있다.

그누보드에서는 모든 mysql 관련 함수를 다시 만들어서 사용중이다.

즉, sql_connect 함수를 www/lib/common.lib.php 파일에서 검색해서 살펴보면 아래와 같습니다.

// DB 연결
function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
    global $g5;
    if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
        $link = mysqli_connect($host, $user, $pass, $db);
        // 연결 오류 발생 시 스크립트 종료
        if (mysqli_connect_errno()) {
            die('Connect Error: '.mysqli_connect_error());
        }
    } else {
        $link = mysql_connect($host, $user, $pass);
    }
    return $link;
}
일반적인 php의 mysql관련함수는 mysql_, mysqli_ 시작되지만 그누보드는 my라는 글짜를 빼서 기존 사용자가 혼동하지 않게 함수이름을 sql_connect와 같은 방식으로 만들었다.

 

해당 함수를 살펴보면 특별한 것은 없고

mysql과 mysqli를 사용할때 다른 함수를 불러오기 때문에 그부분을 나눈다.

결국 해당 함수는 php의 기본적인 mysql, mysqli 관련 함수를 다시 불러옵니다.

이렇게 계속 추적을 해보면

결국 mysql_connect, mysqli_connect 라는 함수로 분기한다.

조금 더 쉽게 설명하자면
그누보드의 db관련 여러함수들은 함수명은 기존의 mysql함수에서 my라는 글짜만 제거한 함수이고
이렇게 함수를 만든이유는 mysql 확장을 사용하느냐 mysqli확장을 사용하느냐에 따라서
함수 사용방법이 약간 차이가 있기 때문에 따로 분기를 하는 역활이라고 보시면됩니다.

댓글목록

등록된 댓글이 없습니다.


Copyright © KISTORY.NET 2001 - 2024 기회근 개인 홈페이지 All rights reserved.
모바일버전