ITmembers.net 아카이브 · 2002–2009

질문과 답변

제어문 에서 insert나 update문 사용관련입니다.

안녕하세요 질문거리가 있어서.. 문의드립니다. 머가문제인지
도무지 모르겠네요..;; select와 insert/update우선순위가 있나?ㅡㅡ;;;;;

문제점은요..
비밀번호 수정시 select로 기존 비밀번호랑 입력한 비밀번호가 맞으면
입력한 비밀번호로 업뎃하는건데요..
일단 업뎃하는부분 대신 메세지로 대체하고 if문을 돌리면
if문 조건에 맞춰서 잘 돌아갑니다.
그런데~ if문안에 update문을 넣으면.. update문을 먼저 실행하는듯 하네요;;
select가 더 위에잇는데;;;그래서 실행을 시켜보면
비번이 맞다고 했을때.. 비밀번호가 맞지 않습니다.라는 메세지가 나오고
확인해보면 변경이 되어있습니다.

다른 파일 예를 들어 data 존재 여부를 검색하고
없으면 insert하는 구문도 마찬가지 없는data를 입력해도
이미 존재라고 나오고 insert는 되어있네요..ㅡㅡ;;
if문이 잘못되었다고 하실수도 있겠지만..
insert나 update를 그냥 메세지로 대체하면..
정상적으로 돌아가고
if문 조건 잘 맞습니다.;;
echo로 각각의 넘어오는값들이랑 심지어 sql문까지 출력해보면 다 맞습니다.;
소스도 올릴게요..
db연결,변수 이런거는 일단 재쳐두고

//비밀번호 추출
$sql1 = "select $pwcol from $tablename where $pwname='$puser'";
$result1 = mysql_query($sql1,$conn);
$array1 = mysql_fetch_row($result1);

//입력한 현재비밀번호
$sql2 = "select password('$pwold')";
$result2 = mysql_query($sql2,$conn);
$array2 = mysql_fetch_row($result2);

//추출비번과 입력한 현재 비번이 맞으면
if ($array1[0]==$array2[0]) {
$sql3 = "update $tablename set pw= password('$pwnew') where $pwname='$puser'";
mysql_query($sql3,$conn);
echo "
<script name=javascript>
self.window.alert('변경되었습니다.');
location.href='slist.php';
</script>
";

//비번이 맞지 않으면
} else {
echo "
<script name=javascript>
self.window.alert('현재 비밀번호가 맞지 않습니다.');
location.href='pwmodi.php';
</script>
";
exit;
}

지금 몇일째 이러고 있습니다.. 도움 부탁드립니다.

댓글 1