-2
我在PHP中使用mysqli并试图从数据库获取数据以登录到系统中。当我使用phpmyadmin来执行我的查询时,我会得到完美的结果。但是当我试图从php脚本中获得它时,我得到了一个概率。我的PHP脚本低于需要纠正我的mysqli查询
if(isset($login)){
$email = @$db->real_escape_string(htmlentities($_POST['loginid']));
$username = @$db->real_escape_string(htmlentities($_POST['loginid']));
$pass1 = @$db->real_escape_string(htmlentities($_POST['loginpass']));
$blah = new Encryption();
$pass = $blah->encode($pass1);
if($db->query("SELECT `uid` FROM `users` WHERE BINARY `uname` = '$username' AND `pass` = '$pass'")){
$errors[] = 'Logged in by username';
}
else if($db->query("SELECT `uid` FROM `users` WHERE `email` = '$username' AND `pass` = '$pass'")){
$errors[] = 'Logged in by email';
}
}
现在的事情是,我的用户名是“ABC”,邮件是“[email protected]”和密码“qazwsx”加密。第二个用户名是'xyz',电子邮件是'[email protected]',密码是'abcdef',但它不检查uname并一次通过或一次通过并同时通过。如果我输入“1”或任何带有“qazwsx”密码的密码,则表明您已通过用户名登录,这意味着它仅检查密码。
而且看到结果,我用这些代码,
if($errors){
echo '<ul>';
foreach ($errors as $error){
echo '<li>'.$error.'</li>';
}
echo '</ul>';
}
else if ($loginform){
echo $loginform;
}
我不知道该怎么办。请帮我guyz。
你能告诉我应该使用什么样的代码吗?你可以编辑我的代码吗? – user2947999
Thanx,它为用户名工作,但我仍然无法用电子邮件ID登录。 :'( – user2947999
)如果你对两者都做了同样的事情,那么你就面临着一个完全不同的问题。数据库中的值是什么样的,你在查询中使用的值是什么样的 – cHao