这可能是一个非常简单的问题,但我正在登录表单上工作。现在它工作正常 - 如果用户名和密码正确,您成功登录。但现在我又做了一个变量$品种,我需要成功登录的PHP代码,如果品种正确的话。如果还包括第三个变量($ breed),则此代码不起作用(显示):
<?php
require "conn.php";
$user_name = $_POST["user_name"];
$user_pass = $_POST["password"];
$breed = $_POST["breed"];
$mysql_qry = "select * from tabela where username like '$user_name' and password like '$password' and breed like '$breed';";
$result = mysqli_query($conn ,$mysql_qry);
if(mysqli_num_rows($result) > 0) {
echo "log";
}
else {
echo "login not success";
}
?>
android中的java代码可能也有错误,但我怀疑它是否完美如果只有用户名和密码:
@Override
protected void onPostExecute(String result) {
if(result.contentEquals("log")) {
context.startActivity(new Intent(context, Boxer.class));
}else
{
Toast.makeText(context, "Wrong Username or Password!", Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
理想情况下,您应该使用计数功能来检索具有给定组合的用户数
select count(*) as count from LOGIN_TABLE where USERNAME='your_input' and PASSWORD='your_input' and BREED='your_input';
此类查询有助于减少对代码的可能威胁。你不应该在匹配用户名和密码时使用LIKE,因为它们应该是完全匹配的。