채택완료

고수님들급하게 부탁드립니다.

write.skin.php에서 

<input type="text" name="wr_name_alt" title="이름" class="input-type" value="<?php echo $name ?>" id="wr_name" required placeholder="이름">

 

write_update.skin.php에서 이렇게 처리 했는데

if ($w == 'u') {
  $sql = "  update {$write_table} set wr_name = '{$wr_name_alt}' ";

sql_query($sql);}

 

글이 이미 등록되어있는데 수정을 하면 수정된 이름으로 모든 게시글이 수정되어 있습니다. 이런 경우는 어느 부분을 어떻게 해야 할까요???????

|

답변 3개 / 댓글 1개

채택된 답변
+20 포인트

update 문을 사용할때

 

문법이 누락되었습니다.

 

UPDATE 테이블

SET 변경할컬럼 = 변경할값

WHERE 조건컬럼 = 조건값

    (  AND 추가조건컬럼 = 조건값 )   --추가는 생략가능

;

물론 WHERE 절도 생략간능하지만 생략하면 테이블 전체가 대상이됩니다.

 

위의 예문에서 처리되려면

Copy
if ($w == 'u') {
    $sql = "UPDATE {$write_table} set wr_name = '{$wr_name_alt}'
              WHERE wr_id = '{$wr_id}'";

    sql_query($sql);

}

가 되어야합니다.

 

 

답변에 대한 댓글 1개

아 정말 감사합니다. 해결했습니다.

이렇게 해봤는데 수정이 않됩니다.

if ($w == 'u') {

  $sql = "  update {$write_table} set wr_name = '{$wr_name_alt}' AND wr_id = '{$wr_id}'";

sql_query($sql);}

  $sql = "  update {$write_table} set wr_name = '{$wr_name_alt}' AND wr_id = '{$wr_id}'";

로 하셔야 수정 해야하는 게시물만 업데이트 됩니다.

과거 본 백업하지 않으셨다면 이미 업데이트 된 내용은 돌리기 어렵습니다

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