뷰에서 링크 클릭하여 db 업데이트하기
본문
<?php
$sql = "update g5_write_test set wr_1 = ''" ;
sql_query($sql);
?>
요렇게 하니 칼럼 wr_1 전체가 몽땅 공백으로 업데이트가 되어서...
<?php
$sql = "update g5_write_test set wr_1 = '' where wr_id = '$wr_id'" ;
sql_query($sql);
?>
요렇게하여 글번호를 조건으로 주었더니 당최 업데이트가 안되는 것입니당..ㅠㅠ
지도편달을 부탁 드리옵니다.
답변 6
$sql = "update g5_write_test set wr_1 = '' where wr_id = '$wr_id'" ;
이 부분이 잘못 된것 같습니다.
$sql = " update `g5_write_test` set wr_1 = '' where wr_id = '{$wr_id}' ";
문자열 안에 변수를 선언할때에는 항상 중괄호를 쓰는 습관을 들이는것이 중요합니다.
php 버젼별로 차이가 있는 것 같습니다.
그리고 항상 보기 좋고 직관적인 코드를 생활화 하는것이 나중에 수정을 할때에도 용의하며,
좋은 코드는 나 뿐만 아니라 타인과의 약속과도 같을 수 있습니다.
지도는 못하지만, 편달은 잘 합니다.
달라진 건 아래 부분인데...
where wr_id = '$wr_id'
$wr_id 변수가 해당 업데이트 파일에서 찍히는지 먼저 확인해 보세요.
alert($wr_id);
exit;
$sql = "update g5_write_test set wr_1 = '' where wr_id = '$wr_id'" ;
sql_query($sql, true);
요것이 실행되어 업데이트가 되면 wr_1번의 칼럼이 모두 일괄적으로 공백이 되어 버리네용.
==============
그럴리가요? 아래 처럼해서 무엇이 출력 되는지 보세요
$sql = "update $write_table set wr_1 = '' where wr_id = $wr_id " ;
sql_query($sql, true);
echo $sql;
요 상태에서 이쁜이를 클릭하면 아래와 같이 변하고
이상태에서 $sql = "update $write_table set wr_1 = '1' where wr_id = $wr_id " ; 이ㄱ것으로 링크를 걸어 클릭하면 업데이트가 안되는 문제입니다.
왜 안되는지 도무지...
$sql = "update $write_table set wr_1 = '' 요것만하면 첫번째 그림과 같이 업데이트는 되지만...
wr_1의 모든 칼럼이 일괄 변경되어서 쓸모가 없군요.
@균이 님
맞습니다.
wr_id 값이 없다고 나오네요.
하여 어찌 그리 나오는지 원인을 알고 싶고요.
또한 해결책을 알려 주신다면 대단히 감사하겠습니다.
에고 이짧은 밑천으로 뭐좀 만든다고 시작하여 이 부분에서 계속 헤메고 있습니다.
넓은 아량으로 도와 주시면 대단히 감사하겠습니다.
@엑스엠엘 님...
저녁 퇴근후 적용해 보고 안되면 전체 소스를 올려 재질문을 해 보고 그래도 안되면 의뢰를 하든지 해 보겠습니다.
대단히 감사합니다.
퇴근후 적용해 보니 500 에러가 뿜어지네요. ㅠㅠ