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

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

오류 주소 : 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키가 문제가 있는거 같은데..어떻게 해야 에러창이 안뜨고 제대로 들어갈까요??
|

댓글 4개

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);
}

위와 같이 고치고 다시 해보시기 바랍니다.
오~ 감사합니다.

지금 밖이라서 ftp가 없어서 고칠수가...ㅠ.ㅠ

나중에 집에 들어가서 한번 해볼께요 메가 쵸코님 복받으실겁니다...ㅠ.ㅜ
감사는 제대로 작동하면 해주세요 ㅠ
정확한 이유는
result = sql_query($sql, FALSE);
이 함수에서 뒤에 FALSE가 붙으면 에러를 무시해야 하고
뒤에서 에러났나 여부를 파악하는 구조인데
걍 에러내버리는게 문제인거 같습니다. php 문제인것 같네요.
혹여 result = sql_query($sql, FALSE); 이부분이 FALSE가 빠져있다면
그부분부터 고치고 잘 돌아가나 해보시고
그래도 안되면 제가 적어드릴대로 해보세요.
저도 똑같은 에러났었는데 이렇게 하니깐 해결이 되네요~ ㅎㅎ

아예 visit DB를 없애버렸던 기억이...ㅠ.ㅠ
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
17년 전 조회 1,522
17년 전 조회 979
17년 전 조회 997
17년 전 조회 2,064
17년 전 조회 1,160
17년 전 조회 1,513
17년 전 조회 1,017
17년 전 조회 1,255
17년 전 조회 1,511
17년 전 조회 1,060
17년 전 조회 1,651
17년 전 조회 1,498
17년 전 조회 1,903
17년 전 조회 1,286
17년 전 조회 1,609
17년 전 조회 1,565
17년 전 조회 1,979
17년 전 조회 971
17년 전 조회 1,060
17년 전 조회 1,573
🐛 버그신고