2017-01-07 2 views
0

Привет, я пытаюсь сделать приложение для входа, используя андроид и php, запущенные на экземпляре ec2, но я не могу войти, даже если я поместил правильные учетные данные.
Итак, я начал печатать запрос, и если я напечатаю $ user, все, что я получаю, это «1» любые предложения?php mysqli bind_result возвращает 1

public function getUserByEmailAndPassword($email, $password) { 

    $stmt = $this->conn->prepare("SELECT * FROM users WHERE email=?"); 
    $stmt->bind_param('s', $email); 
    if ($stmt->execute()) { 
     $stmt->bind_result($id,$unique_id,$name,$email,$encrypted_password,$salt,$created_at,$updated_at); 
     $user = $stmt->fetch(); 
     $stmt->close();  

     // verifying user password 
     $salt = $user['salt']; 
     $encrypted_password = $user['encrypted_password']; 
     $hash = $this->checkhashSSHA($salt, $password); 
     // check for password equality 
     if ($encrypted_password == $hash) { 
      // user authentication details are correct 
      return $user; 
     } 
    } else { 
     return null; 
    } 
} 
+0

Вы печатаете возврат 'fetch()', который является истинным/1, если успешно. – Jeff

ответ

1

Когда вы используете bind_result, вы получаете данные в переменных, которые вы связываете с bind_result.

$stmt->bind_result($id,$unique_id,$name,$email,$encrypted_password,$salt,$created_at,$updated_at); 
$stmt->fetch(); 
echo $unique_id; 
$stmt->close(); 
+0

да ... глупо мне .. большое спасибо! –

Смежные вопросы