2026, 새로운 도약을 시작합니다.

mysql 쿼리질문 채택완료

Copy


$sql = " SELECT * FROM VendingMachine WHERE user_id = '$user_id' AND user_pw = PASSWORD('$user_pw') "; // 회원 테이블에서 해당 아이디가 존재하는지 체크

$result = mysqli_query($conn, $sql);

$mb = mysqli_fetch_assoc($result);

if (!$mb['user_id']) { // 존재하는 아이디인지, 입력한 패스워드가 회원 테이블에 저장된 패스워드와 동일한지 체크

    echo "alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');";

    echo "location.replace('./index.php');";

    exit;

}

이렇게 일단 해두었는데 자꾸 비밀번호가 틀리다고 나옵니다. 어디를 수정해야되는건가요?

답변 4개

채택된 답변
+20 포인트

위의 코드만 보면 user_id 만체크하네요..

if문안에서..

$mb['user_id'] 를 찍어 보세요..  이것이 false가 되니 없다고 나오는 것 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$sql = " SELECT * FROM VendingMachine WHERE user_id = '$user_id' AND user_pw = '$user_pw' "; // 회원 테이블에서 해당 아이디가 존재하는지 체크
$result = mysqli_query($conn, $sql);
$mb = mysql_num_rows($result);
if ($mb == 0) {
   ?> <script>alert("가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.");
</script> <?
    echo "<script>location.replace('./index.php');</script>";
    exit;
}

이렇게 해보세요. 될겁니다. 쿼리자체를 잘못쓰신듯

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$result = mysqli_query($conn, $sql);

$mb = mysqli_fetch_assoc($result);

if(!$result){ // 결과값이 없으면
    error("query error");
    exit;
}

if(!$mb){ // ID값이 없으면
    error("id not found");
    exit;
}else{ // id 값이 존재하면
   if($mb['user_pw'] == $input_pw){ // 비밀번호 검사
    // 로그인 성공시 할 일
   }

   else{

    // 비밀번호 틀릴 경우
   }

}

이렇게 해보세요 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그노보드루트/data/dbconfig.php


if (!defined('_GNUBOARD_')) exit;
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', '유저');
define('G5_MYSQL_PASSWORD', '비번');
define('G5_MYSQL_DB', '디비');

유저 비번 디비를 수정해주세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그누보드소스가 아니라 직접 로그인 부분만들고있는것이라...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고