메뉴 건너뛰기

프로그램언어

조회 수 20157 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

MySQL DB 중복여부 검사하여 없는 것만 추가


자료를 DB에 입력하는 걸 좀 편하게 하려고 중복검사 루틴을 만들어서 테스트를 했는데 계속 자료가 중복으로 들어가 저장된다.

서버 DB 자료를 엑셀로 내보내기 해서 중복검사를 하면 중복된 데이터는 전부 체크하여 표시를 해준다.

어디서 잘못된 걸까? 계속 머리 싸매다가 네이버 검색으로 하는데 자료 찾아도 잘 안나온다.

구글링을 해서 찾았더니 뭔가 힌트가 될만한 것이 검색된다.

넣어서 검사를 했더니 제대로 중복검사 여부를 체크한다.

WHERE eng = '".addslashes($line[0])."'

바로 이 부분 때문에 중복검사를 제대로 못했던 거다.

물론 '(Apostrophe) and " (Quotation mark) 가 없는 한글은 WHERE han = '$line[1]' 으로 검사해도 중복체크를 잘 한다.

중복검사 하는 가장 핵심적인 팁이라 할 수 있는 걸 찾게 되어 너무 기쁘다.


<?
$DB_CONNECT = isConnectDb($DB);
########### DB 연결 ###########
$file=fopen("insert_data.csv","r");
if(!$file){
    echo("Failed to open the file");
    exit;
}

while($line = fgetcsv($file,1000, ";")) { // 구분자는 ; 로 지정, 한줄씩 읽어드린 값을 끝라인까지 계속하라.
    $query = mysql_query("SELECT uid, eng FROM engtable WHERE eng = '".addslashes($line[0])."'",$DB_CONNECT);
    $dupcheck = mysql_fetch_array($query);
    if ($dupcheck['uid']) {
           $dup_line ++;
    } else {     // 중복된 자료가 없을 경우
        $eng = addslashes(trim($line[0]));    // 쿼터(')의 경우 역슬래쉬(\) 처리해야 DB에 저장됨

        $sql = "INSERT INTO $tblName (uid,eng,kor) VALUES (NULL,'$eng','$kor')";
        mysql_query($sql,$DB_CONNECT); // MYSQL DB에 저장
        $ok ++;
        if (($ok % 500) == 0) {
            echo(" $ok 건 저장");
            flush();
            sleep(3); //500개 저장할때마다 3초씩 쉰다.
        }
    $total_line++;
    } //중복체크 END 문
}

if ($dup_line > 0) {
    echo("중복 $dup_line 건 있음");
    echo "<br>";
}
echo("총 $total_line 자료 추가");
fclose ($file);
?>


List of Articles
번호 제목 날짜 조회 수
240 태그 또는 멘션 소스 뽐아내기방법 2019.01.16 1249
239 정규 표현 / 전화번호 / 이메일 2019.01.16 1206
238 포트체크 방법 2019.01.16 1288
237 금액 단위를 만단위부터 표시하는방법 2019.01.16 1891
236 RSS json_decone 사용방법 2019.01.16 1430
235 TIME_TO_SEC 시간 포맷 2019.01.16 1381
234 파일 종류에 따른 아이콘표시하기 함수 2019.01.16 1421
233 문자 숫자 중복 데이타 값 삭제 array_unique 함수 2019.01.16 1419
232 생성된 파일생성날짜 업데이트 만들기 / filemtime 2019.01.16 1369
231 메모장소스 2019.01.08 1993
230 파일 및 데이타베이스 백업 2019.01.08 1608
229 프레임 사이트에서 새로고침(F5) 할때 초기화면으로 이동하지 않음 2019.01.08 1280
228 오늘 날짜 구하기 2019.01.08 1323
227 PHP폼 사용시 폼 양식에서 값이 사라질때 2019.01.08 1315
226 폴더에 사진올려놓고 리스트자동으로 만들기 2019.01.08 1302
225 새창열 때 HTTP_REFERER 값넘기는 꽁수 2019.01.08 1448
224 공백문자 체크 2019.01.08 1622
223 자동으로 다른 페이지로 넘어가는 함수 2019.01.08 1256
222 단어필터링 2019.01.08 1251
221 이미지 사이즈 비율로 조정하기 2019.01.08 1626
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved