어디 코딩이 잘못되었는지... 한번 봐 주실래요?

어디 코딩이 잘못되었는지... 한번 봐 주실래요?

QA

어디 코딩이 잘못되었는지... 한번 봐 주실래요?

본문

---------/----------
$mode = ($_POST['mode']) ? $_POST['mode'] : $_GET['mode'];

$query ="UPDATE recomm2 SET tel='$tel' WHERE no='$no'";
$result = mysql_query($query);

if(!$result){
warmsg('신청되지 않았습니다.');
}
else{
warmsg_ok('신청 되었습니다.');
echo("
<script> opener.window.history.go(1); window.close(); </script>
");
exit;
}
mysql_close($connect);
---------/----------

매치가 될 경우
메시지도 잘뜨고 디비에도 업데이트가 잘 되는 데...

매치가 안 될 경우
메시지(신청되지 않았습니다.)가 뜨질 않습니다.
어디 코딩이 잘못되었나요?

 

해결 방법 좀 알려 줄래요?
감사드림.

이 질문에 댓글 쓰기 :

답변 4

SQL문법에 오류가 없기때문에

$result = mysql_query($query); 

 

이부분이 무조건 true로 반환되는것입니다.

update가 되었든, 안되었든, 쿼리를 실행했기 떄문이죠..

만약

"UPDATE recomm2abc SET tel='$tel' WHERE no='$no'";

이런식으로 쿼리문을 실행시키면 false가 나올겁니다..

 

update에서 조건문을 넣지마시고

 

select를 한번더 돌려서.. 값이 바뀌었는지로 조건문을 넣으셔야합니다..

 

---------/----------
$mode = ($_POST['mode']) ? $_POST['mode'] : $_GET['mode'];

$query ="UPDATE recomm2 SET tel='$tel' WHERE no='$no'";
$result = mysql_query($query);

$sql = "select * from recomm2 where no= '$no'";

$result = mysql_fetch($query);

if($result['tel'] == $tel){ //DB의 tel과, 입력받는 tel이 같다면 (업데이트가 되면 같아지겠죵..)

성공

}else{

실패

}

 

if(!$result){
warmsg('신청되지 않았습니다.');
}
else{
warmsg_ok('신청 되었습니다.');
echo("
<script> opener.window.history.go(1); window.close(); </script>
");
exit;
}
mysql_close($connect);
---------/----------

쿼리 실행 후 쿼리값이 변경되었는지 확인하는 sql문을 하나 더 추가하셔서 확인하세요

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

회원로그인

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