테스트 사이트 - 개발 중인 베타 버전입니다

install_db.php 개선점입니다.

· 11개월 전 · 875 · 9

기존 디비에 테이블이 있을때 재설치시 이미 테이블이 있다고 에러가 나서 보니 기존 테이블 지우는 로직이 없더라구요. 그래서 아래처럼 추가했습니다.

 

사전에 다음코드 주석처리했습니다.

$result = sql_query(" SELECT @@sql_mode as mode ", true, $dblink);
$row = sql_fetch_array($result);
if($row['mode']) {
    //sql_query("SET SESSION sql_mode = ''", true, $dblink);//주석처리
    //$mysql_set_mode = 'true';//주석처리

}

 

기존 코드

// sql_board.sql 파일의 테이블명을 변환
        $source = array("/__TABLE_NAME__/", "/;/");
        $target = array($create_table, "");
        $sql = preg_replace($source, $target, $sql);
        sql_query($sql, false, $dblink);

 

변경된 코드

// sql_board.sql 파일의 테이블명을 변환
        $source = array("/__TABLE_NAME__/", "/;/");
        $target = array($create_table, "");
        $sql = preg_replace($source, $target, $sql);
        sql_query("DROP TABLE IF EXISTS $create_table", false, $dblink);//추가한 부분
        sql_query($sql, false, $dblink);

 

감사합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 9개

11개월 전

감사합니다

감사합니다.

11개월 전

감사합니다.

11개월 전

감사합니다.^^

재설치 를 안해봐서 몰라는데 감사합니~~^

10개월 전

사실 SET SESSION sql_mode = true 가 아니면 에러가 안납니다.

mysql 의 특수성입니다.

다른 디비이면 문제가 됩니다.

10개월 전

sql_query("DROP TABLE IF EXISTS $create_table", false, $dblink);

이부분은 mysql 이라도 추가했으면합니다.

9개월 전

기존테이블데 다른 DB있는거 모르고 설치하면 큰일나겠네요 ㅎㅎ

9개월 전

수고하셨습니다.

게시글 목록

번호 제목
23798
23797
23792
23791
23785
23781
23770
23766
23764
23761
23747
23732
23724
23718
23706
23700
23697
23686
23682
23681
23680
23678
23665
23644
23643
23639
23637
23630
23626
23616