혹이 이런 경험을 가지고 계신가요? (visit 문제) > 그누4 질문답변

그누4 질문답변

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

혹이 이런 경험을 가지고 계신가요? (visit 문제) 정보

혹이 이런 경험을 가지고 계신가요? (visit 문제)

본문

그누보드에 보시면 접속자 현황이라는게 있잖습니까? (참고로 현재 배추빌더를 사용하고 있습니다.)
g4_visit, g4_visit_sum을 이용하여 정보를 보여주는데요
언젠가 부터 작동을 안하는 겁니다.

그래서 원인을 파악하던중 아주 이상한 일이 벌어 져 있더라구요.

/bbs/visit_insert.inc.php 파일을 보시면 아래와 같은 소스가 있는데요....
최고로 큰값을 뽑고, 거기에 1을 더한후 g4_visit에 값을 넣는겁니다.
여기서 아주 이상한 일이 벌어지더라구요.....ㅜ.ㅜ

$tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from $g4[visit_table] ");
$vi_id = $tmp_row[max_vi_id] + 1;
$sql = " insert $g4[visit_table] ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '$vi_id', '$_SERVER[REMOTE_ADDR]', '$g4[time_ymd]', '$g4[time_his]', '$_SERVER[HTTP_REFERER]', '$_SERVER[HTTP_USER_AGENT]' ) ";

php상에서 최고로 값을 뽑으면 1000이라는 값이 나왔다고 하면....
실제 서버의 디비안에서 쿼리를 해서 결과 값을 보면 1001이 나옵니다.
한마디로 1000이라는 값이 이미 존재를 한다라는 것이죠...

오늘 날짜로 존재하는 것도 아니고, 어제의 날짜로 존재를 하는 것이죠.
이미값이 있으면 g4_visit 에 값을 넣지를 못하는 거죠.

그러므로 오늘 들어온 사람이 몇명이나 되는지 볼려면 방법이 없는 겁니다.

이런일이 몇일전에 있어서...DB를 내렸다 올렸더니 잘 작동을 하는가 싶더니, 몇일 지나니 똑같은 현상이 일어 나네요.
무엇일 문제 일까요......ㅜ.ㅜ

댓글 전체

저도 이때문에 무지 고생했는데 찾았습니다. 방금 전에...
visit table의 index가 문제입니다.
visit table index가 두 개 있는데 두 번째 꺼는 키값이 date입니다.
이것 때문에 중복키 오류로 테이블에 오류가 발생합니다.
max값이 개판되고....
암튼 vi_id 를 auto_increment로 만들어 놓고 해도 마찬가지라서...
그 두번째 인덱스를
vi_date, vi_ip, vi_id 이렇게 합쳐 놓았더니 해결났습니다.
게시글로도 남겨 놓겠습니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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