그누보드

그누보드 사용자들을 위한 정보 공유 공간! 설치, 테마, 플러그인, 커스터마이징 팁 등 그누보드에 대한 모든 것을 이야기해보세요!

2025.02.21 18:21

그누보드:sql_connect() DB연결

  • 나우호스팅 21일 전 2025.02.21 18:21
  • 25
    0


/*
 * 그누보드 원본 코드 분석 (LGPL 라이선스 적용) 
 * 출처: https://github.com/gnuboard/gnuboard5
 * 라이선스: GNU General Public License v2.0 또는 그 이후 버전
*/


function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
    global $g5;

    if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
        mysqli_report(MYSQLI_REPORT_OFF);
        $link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.');

        // 연결 오류 발생 시 스크립트 종료
        if (mysqli_connect_errno()) {
            die('Connect Error: '.mysqli_connect_error());
        }
    } else {
        if (!function_exists('mysql_connect')) {
            die('MySQL이 설치되지 않아 mysql_connect 함수를 사용할 수 없습니다.');
        }
        $link = mysql_connect($host, $user, $pass) or die('MySQL Host, User, Password 정보에 오류가 있습니다.');
    }

    return $link;
}


그누보드의 SQL 연결 함수

그누보드의 SQL 연결 함수는 `function sql_connect` 이며, MySQL 연결을 위한 함수입니다. 이 함수는 MySQLi 확장 모듈을 사용하거나 MySQL 확장 모듈을 사용할 수 있습니다.

함수의 파라미터


* `$host`: MySQL 서버의 호스트 이름 또는 IP 주소
* `$user`: MySQL 서버의 사용자 이름
* `$pass`: MySQL 서버의 비밀번호
* `$db`: 연결할 데이터베이스 이름 (기본값은 `G5_MYSQL_DB`)

함수의 동작


1. MySQLi 확장 모듈을 사용할 수 있는지 확인

* `function_exists('mysqli_connect')` 함수를 사용하여 MySQLi 확장 모듈이 존재하는지 확인합니다.
* `G5_MYSQLI_USE` 변수가 `true` 인 경우 MySQLi 확장 모듈을 사용합니다.
2. MySQLi 연결

* `mysqli_connect` 함수를 사용하여 MySQL 서버에 연결합니다.
* 연결이 실패한 경우 `die` 함수를 사용하여 오류 메시지를 출력하고 스크립트를 종료합니다.
* 연결이 성공한 경우 `$link` 변수에 연결 객체를 저장합니다.
3. MySQL 확장 모듈을 사용할 수 있는지 확인

* `function_exists('mysql_connect')` 함수를 사용하여 MySQL 확장 모듈이 존재하는지 확인합니다.
* MySQL 확장 모듈을 사용할 수 없는 경우 오류 메시지를 출력하고 스크립트를 종료합니다.
4. MySQL 연결

* `mysql_connect` 함수를 사용하여 MySQL 서버에 연결합니다.
* 연결이 실패한 경우 `die` 함수를 사용하여 오류 메시지를 출력하고 스크립트를 종료합니다.
* 연결이 성공한 경우 `$link` 변수에 연결 객체를 저장합니다.

함수의 반환 값


* `$link` 변수에 연결 객체를 저장한 후 반환합니다.

예제


#hostingforum.kr
php

// MySQLi 확장 모듈을 사용할 수 있는지 확인

if (function_exists('mysqli_connect') && G5_MYSQLI_USE) {

    // MySQLi 연결

    $link = sql_connect('localhost', 'root', 'password', 'g5');

    echo "MySQLi 연결 성공n";

} else {

    // MySQL 확장 모듈을 사용할 수 있는지 확인

    if (function_exists('mysql_connect')) {

        // MySQL 연결

        $link = sql_connect('localhost', 'root', 'password');

        echo "MySQL 연결 성공n";

    } else {

        echo "MySQL 확장 모듈이 설치되지 않았습니다.n";

    }

}



이 예제에서는 `sql_connect` 함수를 사용하여 MySQL 서버에 연결합니다. MySQLi 확장 모듈을 사용할 수 있는지 확인하고, 사용할 수 있는 경우 MySQLi 연결을 시도합니다. MySQL 확장 모듈을 사용할 수 없는 경우 오류 메시지를 출력하고 스크립트를 종료합니다.

이 게시물에 포함된 라이브러리

[NGINX] root - 서버가 사용할 기본 문서 루트 경로를 설정합니다.
[NGINX] user - 워커 프로세스가 실행될 사용자 및 그룹을 지정합니다.
[PHP] ord - 문자열의 첫 번째 바이트를 0~255 사이의 값으로 변환
[PHP] mysql_connect - MySQL 서버에 연결하기
[PHP] mysqli_report - mysqli_driver->report_mode의 별칭
[PHP] mysqli_connect - mysqli::__construct의 별칭
[PHP] link - 하드 링크 생성
[PHP] glob - 패턴과 일치하는 경로 이름 찾기
[PHP] function_exists - 주어진 함수가 정의되어 있으면 true를 반환합니다.
[PHP] echo - 하나 이상의 문자열을 출력합니다.
[PHP] die - exit의 별칭
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 그누보드 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 5건 / 1 페이지

검색

게시물 검색