새 글 정리하기

문제 상황

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 과 실제 게시판 테이블을 동기화하면, 게시판 테이블 삭제로 인한 새 글 보기 충돌 문제를 해결할 수 있습니다.

댓글

알짜게시판

기타 [FTP] 500 Illegal PORT command.
리눅스 .htaccess 를 이용해서 https 이동하기
개발팁 Imagek 를 이용한 썸네일 생성
개발팁 파일 포맷 알아내기
그누보드 1364 : Field 'xxxxx' doesn't have a default value
그누보드 웹폰트 적용하기
그누보드 CKEditor 5 플러그인
리눅스 윈도우 프로그램 실행 (centos7, wine 7.0)
길호넷 [시크릿DNS] 프록시 혼합 사용 예제
윈도우 IPv6 켜기, 끄기
그누보드 회원 가입일 기준으로 이용기간 정하기
그누보드 sql_fetch, sql_query 안쓰고 직접 mysql 사용하기
리눅스 웹서버 상태 확인 후 자동 재시작 쉘 스크립트
길호넷 WinDivert 1753 에러 발생시
개발팁 PHP 수정시 적용이 안되는 경우 해결 (opcache 중지)
기타 [맥OS] 마우스 휠 스크롤 방향 윈도우와 일치시키는 방…
개발팁 [Ruby] 윈도우에서 pod install 실행시 UTF-8 오류
개발팁 [Ruby] Could not open library 'libcurl'
길호넷 WinDivert 서비스 종료
개발팁 [Android] Error type 3: Activity class {com.?.MainAc…
윈도우 윈도우 서버 2016 IIS 중지
열람 그누보드 새 글 정리하기
개발팁 WinDivert 오류코드
개발팁 Curl 을 이용하여 파일 다운로드
개발팁 Curl 을 이용하여 json 을 post 보내기
그누보드 CKEditor 5 플러그인
길호넷 칼무리 자동실행이 안 되는 원인를 찾았습니다
개발팁 워드프레스와 그누보드 연동 모듈
윈도우 설치하려고 하는 앱이 Microsoft에서 확인된 앱이 아닙…
델파이 권한상승