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 포인트
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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인