mysql 쿼리질문

mysql 쿼리질문

QA

mysql 쿼리질문

답변 4

본문


$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 "<script>alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');</script>";
    echo "<script>location.replace('./index.php');</script>";
    exit;
}

 

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

이 질문에 댓글 쓰기 :

답변 4

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

 


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

 

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

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

    // 비밀번호 틀릴 경우
   }

}

이렇게 해보세요 

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 5
© SIRSOFT
현재 페이지 제일 처음으로