특정 회원 아이디 댓글 일괄 삭제하려면 이걸 어디에 써 넣어야 하죠?
본문
도배하는 아이디의 도배 테러 댓글을 전부 지우려면 어떻게 하냐고 질문을 했는 데
아래와 같은 답변을 받았습니다.
// 해당 아이디 댓글 모두 삭제
delete from 테이블명 where wr_is_comment = 1 and md_id = '아이디';
// 해당 아이디 게시글 모두 삭제
delete from 테이블명 where wr_is_comment = 0 and md_id = '아이디';
??
그런데 어떻게 써야할 지 전혀 모르겠네요. 어디에 써 넣으면 되나요?
답변 4
extend 폴더에 화일을 하나 만들어 넣으세요 - 이름은 아무것이나 상관 없음
내용
<?
if($bo_table){
$mbid='삭제할아이디';
sql_query(" delete from $write_table where mb_id = '$mbid' ");
sql_query(" delete from $g4[board_new_table] where mb_id = '$mbid' "); // 새글 삭제
}
?>
모든 게시판을 한번씩 방문하면 삭제 됩니다
문제는 이렇게 지우면 게시물 카운터가 맞지않게 됩니다
관리자 페이지에서 게시판 수정으로 들어가서 카운트 조정에 체크하고 저장 하세요
삭제된 모든 게시판을 일일이 그렇게 해주어야 합니다
완료되면 extend 폴더에 만든 화일을 삭제하세요
그냥 두면 디비에 조금이라도 부하를 주게 됩니다
아래 코드는 $aaa = 1 일 때 댓글모두삭제, 2인 경우 게시글 모두 삭제이니
상황에 맞게 고쳐 서버 루트에 올려 주소창에 url을 넣고 파일을 실행하면 삭제됩니다.
아래 경우는 게시판명: g5_write_free 게시판의 black이란 작자가 쓴 글을 삭제하는
예제를 작성해 봤으니 게시판명과 아이디를 고쳐 사용하셔야 합니다 ㅎㅎ
아래 소스를 복사해 예를 들어 blackman_del.php 파일로 만들어 서버에 올려 위 설명처럼
실행해 주면 됩니다.
<?php
header("Content-Type: text/html; charset=UTF-8");
$aaa = 1; //디폴트:해당 아이디 댓글 모두 삭제, 해당아이디 게시글 모두삭제시는 값을 2로 수정.
$db_host = "localhost";
$db_user = "아이디"; //데이터베이스아이디
$db_passwd = "비밀번호";
$db_name = "gnu5"; //데이터베이스이름
$connect = mysql_connect($db_host,$db_user,$db_passwd);
mysql_select_db($db_name,$connect);
if (mysqli_connect_errno($connect)) {
echo "데이터베이스 연결 실패: " . mysqli_connect_error();exit();
} else {
echo "데이터베이스 연결 성공~!!!<br><br>";
}
if($aaa == 1){
// 해당 아이디 댓글 모두 삭제
$sql = " delete from g5_write_free where wr_is_comment = 1 and mb_id = 'black'; ";
mysql_query($sql, $connect);
echo "블랙맨 댓글 모두 삭제 완료";
}
if($aaa == 2){
// 해당 아이디 게시글 모두 삭제
$sql = " delete from g5_write_free where wr_is_comment = 0 and mb_id = 'black'; ";
mysql_query($sql, $connect);
echo "블랙맨 게시글 모두 삭제 완료";
}
?>
mysql에 직접 sql입력부분에 작성을 하는 방법과
$sql="delete from 테이블명 where wr_is_comment = 1 and md_id = '아이디';"
sql_qeury($sql);
많은 도움이 되었습니다. 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.