sql_query update 디비 업데이트가 안됩니다.
본문
<?php
include '_common.php';
$sql="select mb_id, mb_password from g5_member where mb_id='pass_test1' ";
$res= sql_query( $sql);
while( $row= sql_fetch_array( $res)) {
$new_pass=get_encrypt_string( $row['mb_password']);
//sql_query( "update g5_member set mb_passwd='$new_pass' where mb_id={$row['mb_id']}");
$sql = "update g5_member set mb_passwd='$new_pass' where mb_id={$row['mb_id']} ";
sql_query( $sql);
echo $sql."<br>";
}
회원 비밀번호 번경에 대한 문의에 답변을 보고 해봤는데요 ( https://sir.kr/qa/437722 )
db에 회원을 pass_test1 비밀번호 pass_test1 라고 만들어 놨습니다.
저 코드를 new_pass.php 라는 화일로 만들어서 루트에 올려놓았습니다.
그리곤 인터넷 주소창에서 http://도메인/new_pass.php 라고 한뒤 엔터치면
update g5_member set mb_passwd='sha256:12000:wOLeiMv1Us7gqsvNugb9shy8KQcWJas6:wRE4ucmfvXR8gf99yNILVb8jL4mGgmFJ' where mb_id=pass_test1
이런 결과값이 나옵니다.
보긴엔 다 정상적인 동작을 한거같은데 mysql DB에 들어가서 확인해보면
비밀번호가 변경되지 않았습니다.
제가 뭘 잘못하고 있는건지...
( 생각해보면 누구나 주소창에서 new_pass.php를 실행할수있으니 안되는게 당연하기도 한데... )
뭐가 문제일까요.. ㅜㅜ;;
도움좀 부탁드리겠습니다.
!-->
답변 1
$sql = "update g5_member set mb_passwd='$new_pass' where mb_id={$row['mb_id']} ";
sql_query( $sql, TRUE); // 하시면 에러 내용을 확인하실 수 있습니다.
echo $sql."<br>";
}
where 조건에서 따옴표가 빠졌네요.
where mb_id='{$row['mb_id']}'
답변을 작성하시기 전에 로그인 해주세요.