테스트 사이트 - 개발 중인 베타 버전입니다

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

곰돌이76 7년 전 조회 2,129

</p>

<p><?php

include_once('./_common.php');

include_once(G5_EDITOR_LIB);</p>

<p> </p>

<p>$i=0;

$find_1="불량단어1";

$find_2="불량단어2";

$find_3="<a href=";

$find_4="<a href="http://" target="_blank">http://</a>";

$wr_id=0;</p>

<p>$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'];

 }</p>

<p>  $i++;

  if($i==5) break;

}</p>

<p>

include_once('./board_tail.php');

@include_once ($board_skin_path.'/write.tail.skin.php');

include_once(G5_PATH.'/tail.sub.php');

?></p>

<p> </p>

<p>

 

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

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

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

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

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

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

 

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

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

답변 2개

채택된 답변
+20 포인트
o
7년 전

</p>

<p>$words = array('불량단어1', '불량단어2');</p>

<p>foreach($words as $str){</p>

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

<p>}</p>

<p>

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

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

7년 전

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

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

감사합니다....

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

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

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

로그인