我做了一個登錄代碼,但查詢不工作,它一直說這個賬戶不正確,所以我認爲這是查詢不好。mysqli變量在查詢不起作用
'SELECT * FROM `hexa-it-login` WHERE `e_mail`="'.$e_mail.'" AND `password`="'.$password.'"'
這裏是完整的代碼。
require 'connect.php';
if(isset($_POST['login'])){
$e_mail = $_POST['e_mail'];
$password = $_POST['password'];
$result = mysqli_query($con, 'SELECT * FROM `hexa-it-login` WHERE `e_mail`="'.$e_mail.'" AND `password`="'.$password.'"');
if(mysqli_num_rows($result)==1){
$_SESSION['e_mail'] = $e_mail;
header('Location: ../paneel0.php');
}
else
echo "Dit account bestaat niet!";
}
查詢不太好,因爲您使用原始字符串連接而不是使用預準備語句。您的查詢很容易被SQL注入,導致數據庫發生不好的事情。 –
我以爲2017年每個人都使用了準備好的語句,但看起來我錯了......首先查看這個鏈接,如何使用準備好的語句:http://php.net/manual/en/mysqli.prepare.php –
可能密碼存儲在數據庫中**加密**一個並通過** Plain **密碼檢查登錄。這可能是執行其他部分的原因之一。 –