Я использую приведенный ниже PHP-код для извлечения данных из БД. Я не могу проверить, совпадает ли имя пользователя с введенным паролем.
При вводе правильного имени пользователя и неправильного пароля приложение принудительно закрывается.
Код PHP -
<?php
include 'DBConfig.php';
$con = mysqli_connect($HostName,$HostUser,$HostPass,$DatabaseName);
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$email = $obj['email'];
$password = $obj['password'];
$Sql_Query = "select * from UserRegistrationTable where email = '$email' and password = '$password'; ";
$connection_part = mysqli_query($con,$Sql_Query);
$dataExist=0;
if (mysqli_num_rows($connection_part)>0){
$SuccessLoginMsg = 'Data Matched';
$SuccessLoginJson = json_encode($SuccessLoginMsg);
echo $SuccessLoginJson ;
$check = mysqli_fetch_array($connection_part);
$response=array();
array_push($response,array("name"=>$check[1], "email"=>$check[2], "password"=>$check[3]);
echo json_encode(array("Details"=>$response));
}
else{
$InvalidMSG = 'Invalid Username or Password Please Try Again' ;
$InvalidMSGJSon = json_encode($InvalidMSG);
echo $InvalidMSGJSon ;
}
mysqli_close($con);
?>
Как ваш пароль зашифрован в вашей базе данных?
Действительно трудно понять, в чем проблема. Вам нужно создать минимальный воспроизводимый пример и выяснить, где в вашей программе он начинает делать неожиданные вещи. Добавьте вывод отладки, чтобы вы могли видеть, какие значения имеют переменные и т. д.
Я изучаю это, так как я не могу загрузить источник этого, я загрузил это здесь. Могу ли я узнать, что не так с этим кодом относительно соответствия UN и паролей?






Вам следует переключить операторы if или лучше заменить '>' на '<'. если в вашем sql-запросе есть строки, значит, имя пользователя и пароль совпадают. У вас есть наоборот, надеюсь, это поможет.
Почему вы отметили здесь Android?