전자 메일과 암호가 일치하면 사용자의 mysql tblUser에서 userID를 반환하는 다음 코드를 원합니다. 현재는 대부분의 데이터베이스를 들어 어떤mysql에서 rowCount를 사용하여 필드 반환하기가 작동하지 않습니다.
<?php
include 'config.inc.php';
// Check whether username or password is set from android
if(isset($_POST['email']) && isset($_POST['password']))
{
// Innitialize Variable
$result='';
$email = $_POST['email'];
$password = $_POST['password'];
// Query database for row exist or not
$sql = 'SELECT UserID FROM tblUser WHERE email = :email AND password = :password';
$stmt = $conn->prepare($sql);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':password', $password, PDO::PARAM_STR);
$stmt->execute();
if($stmt->rowCount())
{
$result="true" . UserID;
}
elseif(!$stmt->rowCount())
{
$result="false";
}
// send result back to android
echo $result;
}
?>
** 절대 암호 저장을 할 수 있습니다! **. 비밀번호 해시 만 저장하십시오! PHP의 [''password_hash()'] (http://php.net/manual/en/function.password-hash.php)와 [''password_verify()'] (http://php.net/manual/en /function.password-verify.php). 5.5보다 낮은 버전의 PHP를 실행하고 있다면 (나는 그렇지 않길 바랍니다) [password_compat library] (https://github.com/ircmaxell/password_compat)를 사용하여 동일한 기능을 사용할 수 있습니다. –
코드에'UserID'를 써서 결과를 얻을 수는 없습니다 (즉, 정의되지 않은 상수). 결과를 얻는 방법에 대한 설명서를 읽어야합니다. http://php.net/manual/en/pdostatement.fetch.php –
또는 초기 조건이 충족되지 않았거나 스크립트 오류가 발생했습니다. 오류가 표시되는지 확인하려면 오류를 표시하거나 서버 로그를 확인해야합니다. – jeroen