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

install_db.php 개선점입니다.

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

감사합니다.

10개월 전

감사합니다.^^

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

10개월 전

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

mysql 의 특수성입니다.

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

10개월 전

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

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

9개월 전

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

9개월 전

수고하셨습니다.

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168