mysql 테이블 초기화 도중 사이트에 에러 발생..

· 2013-03-24 (일) 17:01:28 · 1996 · 9
select * from hd_write_talk where wr_is_comment = 0 and ( ) order by wr_num
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') order by wr_num' at line 2 : 1064

제로쓰던 때 처럼 걍 테이블을 비웠더니 에러가 발생했습니다..
이게 무슨에런지요..?
board 테이블의 bo_count_write 와 bo_count_comment 의 데이터를 전부 0으로 초기화하고 해당 게시판 테이블의 레코드를 전부 비웠더니 이런 문제가 발생했네요;;
|

댓글 9개

2013-03-24 (일) 17:09:54
and () 에서 ()안에 아무것도 없어서 오류가 생겼습니다 그부분이 무엇인지 찾아보세요
일단 해당 파일을 찾아봤는데 아무리 봐도 latest.lib.php 관련 소스밖에 문제될 것이 없더라구요..
그래서 해당 파일을 열어 비교하니
$sql = " select * from $tmp_write_table where wr_is_comment = 0
and ( $sqlwhere )
order by wr_num";

밖에 유사한 sql문이 없는데요,
문젠 해당 파일이 12년 6월 24일 이후 한번도 수정된 적이 없는 파일이란 거지요..
그 외에도 가장 늦게 수정된 파일은 올해 3월 21일..
메인 페이지가 망가진건 금일 오후구요..
파일문제는 아닌거 같아요..

$sqlwhere 가 없을 경우에 대한 코드도
if (COUNT($data) < 1) { // 공지사항으로 체크된 것이 없을때
$sqlwhere = " 1 ";
}

이렇게 명시되어 있거든요..
카운트 필드 지우고 게시물 삭제한다고 저런 에러가 날 이유가 없을 겁니다
위 에러가난 화일이 잇어야 진단 가능..
일단 해당 파일을 찾아봤는데 아무리 봐도 latest.lib.php 관련 소스밖에 문제될 것이 없더라구요..
그래서 해당 파일을 열어 비교하니
$sql = " select * from $tmp_write_table where wr_is_comment = 0
and ( $sqlwhere )
order by wr_num";

밖에 유사한 sql문이 없는데요,
문젠 해당 파일이 12년 6월 24일 이후 한번도 수정된 적이 없는 파일이란 거지요..
그 외에도 가장 늦게 수정된 파일은 올해 3월 21일..
메인 페이지가 망가진건 금일 오후구요..
파일문제는 아닌거 같아요..

$sqlwhere 가 없을 경우에 대한 코드도
if (COUNT($data) < 1) { // 공지사항으로 체크된 것이 없을때
$sqlwhere = " 1 ";
}

이렇게 명시되어 있거든요..
거기 맞네요
if(!$sqlwhere) $sqlwhere = " 1 ";
이렇게 해주면 될 것 같네요
if (COUNT($data) < 1) { // 공지사항으로 체크된 것이 없을때
$sqlwhere = " 1 ";
}
아래에
if(!$sqlwhere) $sqlwhere = " 1 "; 를 추가해주니 아래와 같이 에러가 나면서 아예 페이지 출력이 안되네요 .. 에구

Parse error: syntax error, unexpected T_ELSE in D:\APM_Setup\htdocs\pacan_member\lib\latest.lib.php on line 54
아,
if(!$data[0])
{
$sqlwhere = " 1 ";
}
else 나머지~~~if (COUNT($data) < 1) { // 공지사항으로 체크된 것이 없을때
$sqlwhere = " 1 ";
}

해주니 되네요
감사합니다
2013-03-24 (일) 23:24:24
$sqlwhere 부분 오류가 맞습니다.
변수가 대입되지 않아 () 만 되어있어 나는 오류입니다.

그렇다면 if (COUNT($data) < 1) { // 공지사항으로 체크된 것이 없을때 이 구문이 잘못되었단 얘기이므로

데이타 가 없을때의 예외구문을 확인해서 $sqlwhere 부분이 나오게끔 처리해주셔야 합니다
아 그러면 기존에는 데이터가 있었기 때문에 해당 오류가 보이지 않았는데, 이번에 제가 데이터를 싹 날림으로써 드러난 건가요?
으으..
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
13-03-25 조회 912
13-03-24 조회 797
13-03-24 조회 1,093
13-03-24 조회 1,700
13-03-24 조회 1,730
13-03-24 조회 1,845
13-03-24 조회 1,997
13-03-24 조회 2,761
13-03-24 조회 788
13-03-24 조회 1,838
13-03-24 조회 1,875
13-03-24 조회 970
13-03-24 조회 1,690
13-03-24 조회 2,022
13-03-24 조회 1,392
13-03-23 조회 1,894
13-03-23 조회 847
13-03-23 조회 1,148
13-03-23 조회 1,857
13-03-23 조회 938