我正在尝试使用PHP创建一个非常简单的MySQL登录函数。用户名和密码通过AJAX发布到PHP。AJAX函数如下:
function login(){
var user = document.getElementById("username").value;
var pass = document.getElementById("password").value;
$.ajax({
url : "login.php",
type : "POST",
data : {
username : user,
password : pass
},
success : function(response){
alert(response);
},
error : function(response){
alert(response);
}
});
}
登录脚本:
$conn = new mysqli($host, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
$user = $_POST['username'];
$pass = $_POST['password'];
$query="SELECT * FROM Users WHERE email = '$user' AND password ='$pass' LIMIT 1";
$result = $conn->query($query);
$count = $result->num_rows;
if($count == 1){
echo "success";
}else{
echo "incorrect login details";
}
$conn->close();
?>
似乎无论用户名和密码是否正确,$count始终为零。 我已经验证了在PHP中成功检索到了用户名和密码。
甚至更简单的查询SELECT * FROM Users也返回0个计数。
尝试echo或var_dump $result会显示对象Object。
有人能看到这段代码有什么明显的问题吗?非常感谢您的帮助。
注意:该简单函数不是为安全而设计的,因此格式不安全。