sql delete 조건절 만들기가 어렵네요... 누가 좀 도와주세요... 채택완료

Copy
<?php
include_once('./_common.php');
include_once(G5_EDITOR_LIB);

 

$i=0;
$find_1="불량단어1";
$find_2="불량단어2";
$find_3="<a href=";
$find_4="http://";
$wr_id=0;

$sql="SELECT * FROM g5_write_free WHERE wr_is_comment=1";
$result=sql_query($sql);
while($dbData=sql_fetch_array($result))
{ 
 if(stripos($dbData['wr_content'],$find_1) !== false || stripos($dbData['wr_content'],$find_2) !== false ||
  stripos($dbData['wr_content'],$find_3) !== false || stripos($dbData['wr_content'],$find_4) !== false)
 {
  $sql2 = "DELETE FROM g5_write_free WHERE wr_id=$dbData['wr_id']
     and wr_id=$wr_id";
  sql_query($sql2);
  $wr_id=$dbData['wr_id'];
 }

  $i++;
  if($i==5) break;
}


include_once('./board_tail.php');
@include_once ($board_skin_path.'/write.tail.skin.php');
include_once(G5_PATH.'/tail.sub.php');
?>

 

자유게시판 댓글에 광고, 불량단어들이 많아 선택적으로 뽑아서 지우려고 합니다.

그후, 댓글에 대한 카운터를 새로 작성하려고 합니다.

$find_1~$find_4까지 링크나 불량단어를 확인하고 자유게시판 테이블 댓글에서 지우려고 하는데,

delete from 구문에서 where 조건절을 어떻게 써야 할지 이렇게 올립니다.

if문에 해당하는 그 행만 지우면 되는데 delete로 where 조건문 만들기가 넘 어렵네요...

몇 시간째 고민하다 도저히 안되어 이렇게 글 올립니다.

 

도와주시면 감사하겠습니다.

답변 2개

채택된 답변
+20 포인트

Copy
$words = array('불량단어1', '불량단어2');

foreach($words as $str){

    sql_query("delete from g5_write_free where `wr_is_comment` = 1 and instr(`wr_content`, '{$str}' ) > 0");

}
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

휴.... 프로그래밍 초보라서 몇시간째 고민하면서, 헤매는데, 넘 쉽게 간단히 해결해 주시니, 감사합니다.

자유게시판에 15만개의 자료가 단, 몇 초만에 싹 정리되네요...

감사합니다....

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고