뷰에서 링크 클릭하여 db 업데이트하기

뷰에서 링크 클릭하여 db 업데이트하기

QA

뷰에서 링크 클릭하여 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 버젼별로 차이가 있는 것 같습니다.

 

그리고 항상 보기 좋고 직관적인 코드를 생활화 하는것이 나중에 수정을 할때에도 용의하며,

좋은 코드는 나 뿐만 아니라 타인과의 약속과도 같을 수 있습니다.

$sql = " update `g5_write_test` set wr_1 = '' where wr_id = '{$wr_id}' ";
요것은 아래 첫번째 그림과 같이 변하고요,

$sql = " update `g5_write_test` set wr_1 = '1' where wr_id = '{$wr_id}' ";
요것을 하면 wr_1에 1이업데이트가 되어 두번째 그림처럼 이쁜이 이름에 취소선이 사라지게하는 것인데...
두번째에서 막히는군요..ㅠㅠㅠ

지도는 못하지만, 편달은 잘 합니다. 

 

달라진 건 아래 부분인데...

where wr_id = '$wr_id'

 

$wr_id 변수가 해당 업데이트 파일에서 찍히는지 먼저 확인해 보세요.

alert($wr_id);

exit;

 

 

 

근데 웃기는 것이
<?php
$sql = "update g5_write_test set wr_1 = ''  where wr_id = '$wr_id'" ;
sql_query($sql);
?>
요것은 wr_1에 공백으로 업데이트가 되는데...
<?php
$sql = "update g5_write_test set wr_1 = '1'  where wr_id = '$wr_id'" ;
sql_query($sql);
?>
요것은 왜 wr_1에 1이 업데이트가 되지 않을까요?

참으로 깝깝합니당...

함만 더 편달을 부탁 드려봅니당... ^;^

덧붙여서,
<?php
$sql = "update g5_write_test set wr_1 = ''  where wr_id = '$wr_id'" ;
sql_query($sql);
?>
요것이 실행되어 업데이트가 되면 wr_1번의 칼럼이 모두 일괄적으로 공백이 되어 버리네용.

값이 찍히면, 걸리는 건 딱 하나네요.
변수에 중괄호 입히기....

PHP 구버전과 달리 최신 버전들은 사소한 문법이 까다로워졌어요.
예를 들어, 배열키를 따옴표로 묶어야 한다거나, 문자열 안에서 변수 사용 시 변수를 중괄호로 묶어야 한다거나....

$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;

2049374771_1669905043.7886.jpg

요 상태에서 이쁜이를 클릭하면 아래와 같이 변하고

2049374771_1669905151.5666.jpg

이상태에서 $sql = "update $write_table set wr_1 = '1'  where wr_id = $wr_id " ; 이ㄱ것으로 링크를 걸어 클릭하면 업데이트가 안되는 문제입니다.

왜 안되는지 도무지...

$sql = "update $write_table set wr_1 = ''  요것만하면 첫번째 그림과 같이 업데이트는 되지만...

wr_1의 모든 칼럼이 일괄 변경되어서 쓸모가 없군요.

 

맞습니다.

wr_id 값이 없다고 나오네요.

하여 어찌 그리 나오는지 원인을 알고 싶고요.

또한 해결책을 알려 주신다면 대단히 감사하겠습니다.

에고 이짧은 밑천으로 뭐좀 만든다고 시작하여 이 부분에서 계속 헤메고 있습니다.

넓은 아량으로 도와 주시면 대단히 감사하겠습니다.

$sql = "update $write_table ~~~<--이 코드가 어느 화일에 들어있는지 링크 코드는 어떤지 등을 보아야 답이 나오겠군요
링크를 어떻게 만들었는지 알 수가 없으니 답변을 할 수가 없습니다

님...

저녁 퇴근후 적용해 보고 안되면 전체 소스를 올려 재질문을 해 보고 그래도 안되면 의뢰를 하든지 해 보겠습니다.

대단히 감사합니다.

 

퇴근후 적용해 보니 500 에러가 뿜어지네요. ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 123,517 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT