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

install_db.php 개선점입니다.

· 11개월 전 · 876 · 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개월 전

수고하셨습니다.

게시글 목록

번호 제목
23254
23244
23241
23236
23200
23199
23179
23174
23138
23128
23125
23116
23109
23099
23092
23083
23079
23063
23050
23036
23029
23007
23003
22983
22959
22943
22939
22934
22905
22897