Если логика оператора во внутренней строке работает с ошибкой каждый раз (даже если введены правильные существующие имя пользователя и пароль). Я не могу понять, почему.Если сбой инструкции (mysql)
Код:
<?php
$conn = new mysqli("localhost", "root", "", "customerdirectory");
if($conn->connect_error) {
echo("Connection Failed " . $conn->connect_error);
exit();
}
if(isset($_POST["user"], $_POST["pass"])) {
$username = stripslashes($_POST["user"]);
$username = mysqli_real_escape_string($conn,$username);
$password = stripslashes($_POST["pass"]);
$password = mysqli_real_escape_string($conn,$password);
$result = "SELECT * FROM customer WHERE name=='$username' AND password=='$password'";
**if($conn->query($result) === TRUE)**
echo("Successful login: ".$username);
else
echo("The username or password are incorrect!");
$conn->close();
};
?>
Не используйте 'stripslashes' пользовательских данных, особенно паролей. Он разрушает контент. – tadman
** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать [параметризованные запросы] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ ПРИНИМАЙТЕ ** использовать ручное экранирование и интерполяцию строк или конкатенацию, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/), если вы когда-нибудь забудете что-то избежать. – tadman
'==' должно быть '=' – bansi