채택완료

쿼리문 질문좀드릴게요

<?php
$db_host = "localhost"; 
$db_user = ""; 
$db_passwd = "";
$db_name = ""; 
$conn = mysqli_connect($db_host,$db_user,$db_passwd,$db_name);


$mb_id       = trim($_POST['mb_id']);
$mb_password = trim($_POST['mb_password']);

//$mb = get_member($mb_id);
$message="";

$rs = mysql_query($sql);
if($row=mysql_fetch_array($rs)){
$message="성공";
}esle{
    $message="실패";
}


$sql = "select * from g5_member where mb_id='$mb_id' and mb_password='$mb_password' ";

$data = array('message' => $message);

$json = json_encode($data);

echo $json;

 
?>

login_check 는 메인페이지값자체를 다불러와서 따로 로그인 성공여부를 만드는중입니다..

다른언어쪽에서 이 php로 요청을하면 쿼리를실행하고 성공/실패 여부를  json으로 반환해주는것이고요

그런데 php문에서 에러가나는듯합니다 제가한게 어디가 잘못되엇는지 잘모르겠습니다.

배열이 계속 맞지 않다는데.. 조금이나마 이해좀 시켜주세요 좋은밤되세요

|

답변 4개 / 댓글 7개

채택된 답변
+20 포인트
2018-01-10 (수) 22:30:07

그누보드5 사용중이시라면 이렇게 해보세요

Copy
$mb_id       = trim($_POST['mb_id']);
$mb_password = trim($_POST['mb_password']);
//$mb_password =get_encrypt_string(trim($_POST['mb_password']));

$message = '';
$sql = "select * from {$g5['member_table']} where mb_id='{$mb_id}' and mb_password = password('{$mb_password}') ";

$rs = sql_query($sql);
$row=sql_fetch_array($rs);

if($row)
    $message="성공";
else 
    $message="실패";

$data = array('message' => $message);

$json = json_encode($data, JSON_UNESCAPED_UNICODE);

echo $json;

답변에 대한 댓글 7개

Fatal error: Call to undefined function sql_query() in 51번째줄 에서 에러가나는데 이유가무엇인가요?
쿼리 함수가 정의된 파일이 없어 생기는 오류 같네요

해당 파일 제일 상단에

include_once('./_common.php'); 이부분이 있는지 확인해보세요~
감사합니다.!!
그런데 이렇게하면 문자열이 있어야되는거아닌가여?
문자열이 0이 반환되는데 분명 메시지 값이 들어있는데 왜없다는건지 알려줄수잇으세여??
음.. 위 소스으로는 0이 들어갈리가 없는데요..

마지막 부분
$json = json_encode($data, JSON_UNESCAPED_UNICODE);

이렇게 변경해보시겠어요?
$json = json_encode($data);
그래도 문자열이 0인데..
다른곳에서 불러오기전에 웹php에서 잘 반환되는지 확인하는법이 있을까요?
그래야 웹문제인지 다른곳클라문제인지 판단이 가능할거같아서요
print_f인가 찎어보면될려나여
$mb_id = trim($_POST['mb_id']);
$mb_password = trim($_POST['mb_password']);
//$mb_password =get_encrypt_string(trim($_POST['mb_password']));

$message = '';

$sql = "select count(*) as cnt from {$g5['member_table']} where mb_id='{$mb_id}' and mb_password = password('{$mb_password}') ";

$row=sql_fetch($sql);

print_r2($row); //쿼리결과확인

if($row['cnt'] > 0)
$message="성공";
else
$message="실패";

$data = array('message' => $message);
$json = json_encode($data, JSON_UNESCAPED_UNICODE);

echo $json;


이렇게도 해보세요;;
이래도 이페이지에서 json출력이 안된다면 다른 부분에서 문제가 생기는걸로 추측 됩니다

감사합니다.

$sql = "select * from g5_member where mb_id='{$mb_id}' and mb_password=password('{$mb_password}') ";

$rs = mysql_query($sql);
if($row=mysql_fetch_array($rs)){
$message="성공";
}esle{
    $message="실패";
}

-------------------

위와 같이 위치변경과 password 함수를 사용하셔야합니다

암호화된 비밀번호와 평문을 비교하면 절대 일치가 안되니까요

쿼리문이 담긴 스트링이  mysql_query 밑에 있네요.. 그 위로 올려 보세요.

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