알짜게시판

[그누보드] 새 글 정리하기

문제 상황

DB에서 직접 게시판 테이블을 삭제한 경우, 새 글 테이블($g5['board_new_table']) 에 기존 게시판 정보가 남아 있어 충돌이 발생합니다.
이 때문에 새 글 보기에서 오류가 발생하거나 잘못된 데이터가 출력될 수 있습니다.


해결 방법

불필요하게 남아 있는 board_new_table 레코드를 정리해 주어야 합니다.
아래 PHP 스크립트를 생성해 실행하면, 존재하지 않는 게시글 정보를 자동으로 삭제할 수 있습니다.

<?
    include 'common.php';

    $qry = " select a.*, b.bo_subject, b.bo_mobile_subject 
             from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c 
             where a.bo_table = b.bo_table 
             and b.gr_id = c.gr_id 
             order by a.bn_id desc ";
    $result = sql_query($qry);

    for ($i=0; $row=sql_fetch_array($result); $i++) {
        $tmp_write_table = $g5['write_prefix'].$row['bo_table'];

        $row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_parent']}' ");
        if(!$row2) {
            sql_query(" delete from {$g5['board_new_table']} where bn_id = '{$row['bn_id']}' ");
        }
    }
?>

동작 방식

  1. board_new_table 의 모든 레코드를 불러옴
  2. 각 게시글이 실제 write_xxx 테이블에 존재하는지 확인
  3. 존재하지 않는 경우 board_new_table 에서 해당 레코드를 삭제

주의 사항

  • 스크립트 실행 전 DB 백업 필수
  • common.php 경로는 실제 설치된 그누보드 환경에 맞게 수정 필요
  • 스크립트 실행 후에는 삭제된 게시판 관련 새 글 정보가 정상적으로 정리됨

이 스크립트를 통해 board_new_table 과 실제 게시판 테이블을 동기화하면, 게시판 테이블 삭제로 인한 새 글 보기 충돌 문제를 해결할 수 있습니다.

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
[윈도우] 윈도우 서버 2016 IIS 중지 9,514 21-01-29
[그누보드] 새 글 정리하기 4,588 21-01-28
WinDivert 오류코드 4,805 21-01-24
[PHP] Curl 을 이용하여 파일 다운로드 6,547 21-01-19
[PHP] Curl 을 이용하여 json 을 post 보내기 7,144 21-01-19
[그누보드] CKEditor 5 플러그인 10 7,841 21-01-14
칼무리 자동실행이 안 되는 원인를 찾았습니다 1 3,203 20-12-31
[PHP] 워드프레스와 그누보드 연동 모듈 4,230 20-12-27
설치하려고 하는 앱이 Microsoft에서 확인된 앱이 아닙니다. 17,184 20-10-11
[델파이] 권한상승 2,733 20-09-04
[델파이] Glyph 에 사용할 이미지 생성하기 2,188 20-09-02
[윈도우] WMI 복구하기 1 9,397 20-08-20
파이썬 아나콘다 업데이트 2,359 20-08-06
[델파이] bsNone 인 폼에서 드래그 및 크기조절 3,769 20-07-11
윈도우7 에서 WinDivert 2.2 관련 오류 발생시 14,522 20-07-10
[리눅스] Composer 설치하기 2,371 20-07-06
[윈도우] WinHTTP 사용에서 12175 에러 발생시 5,667 20-04-04
[MYSQL] 날짜필드 연장하기 2,481 20-03-20
[워드프레스] 회원가입시 닉네임 필드 추가하기 3,108 19-09-21
[그누보드] 임의로 테마설정하기 3,133 19-09-16
[리눅스] Swap 생성/수정 2,714 19-09-04
[리눅스] 바이러스 검사 2,524 19-09-04
[그누보드] CKEditor 5 플러그인 5,869 19-08-27
[PHP] 실시간 화면 출력 4,784 19-08-04
[그누보드] 클라우드플레어(Cloudflare) 사용시 아이피 주소 및 URL Schemes 정정 6,734 19-07-27
[윈도우] 원격 데스크탑 접속 기록 삭제하기 4,111 19-07-24
[윈도우] 네트워크 드라이브 커맨드 명령으로 연결하기 2,289 19-07-11
[MYSQL] 계정 추가 및 외부 접속 허용 2,151 19-07-05
[PHP] 변수를 텍스트로 저장 및 캐시로 사용하기 3,746 19-06-30
VS Code 설치방법 2,790 19-06-30
시크릿SNI 화이트 리스트 등록하기 2 16,669 19-06-29
심리톡톡사주클럽IT기술주점닷컴광고의비밀