접속을 하면 카운터 에러가 뜹니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

접속을 하면 카운터 에러가 뜹니다. 정보

접속을 하면 카운터 에러가 뜹니다.

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 : www.aladinsusun.com

네이버에서 검색을 알라딘 옷수선으로 해서 사이트에 들어가면 아래와 같은 에러가 뜹니다.

'' update g4_visit_sum set vs_count = vs_count + 1 where vs_date = '2008-04-13'

''1062 : Duplicate entry '2008-04-13-2' for key 1

error file : /index.php

주소를 다시 클릭하면 제대로 들어가지구요..


카운터 DB키가 문제가 있는거 같은데..어떻게 해야 에러창이 안뜨고 제대로 들어갈까요??

댓글 전체

bbs디렉토리의 visit_insert.inc.php 를 열어보시면

        $sql = " insert $g4[visit_sum_table] ( vs_count, vs_date) values ( 1, '$g4[time_ymd]' ) ";
        $result = sql_query($sql, FALSE);
       
        // DUPLICATE 오류가 발생한다면 이미 날짜별 행이 생성되었으므로 UPDATE 실행
        if (!$result) {
            $sql = " update $g4[visit_sum_table] set vs_count = vs_count + 1 where vs_date = '$g4[time_ymd]' ";
            $result = sql_query($sql);
        }

이부분이 작동을 제대로 안하는것으로 보입니다.

위 부분을

$confirm = sql_fetch("select * from $g4[visit_sum_table] where vs_date='$g4[time_ymd]'");
if(!$confirm['vs_date']) {
$sql = " insert into $g4[visit_sum_table] ( vs_count, vs_date) values ( 1, '$g4[time_ymd]' ) ";
$result = sql_query($sql, FALSE);
}else {
            $sql = " update $g4[visit_sum_table] set vs_count = vs_count + 1 where vs_date = '$g4[time_ymd]' ";
            $result = sql_query($sql);
}

위와 같이 고치고 다시 해보시기 바랍니다.
감사는 제대로 작동하면 해주세요 ㅠ
정확한 이유는
result = sql_query($sql, FALSE);
이 함수에서 뒤에 FALSE가 붙으면 에러를 무시해야 하고
뒤에서 에러났나 여부를 파악하는 구조인데
걍 에러내버리는게 문제인거 같습니다. php  문제인것 같네요.
혹여 result = sql_query($sql, FALSE);  이부분이 FALSE가 빠져있다면
그부분부터 고치고 잘 돌아가나 해보시고
그래도 안되면 제가 적어드릴대로 해보세요.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT