Итак, я пытаюсь проверить ли правильные имя пользователя и адрес электронной почты, введенный пользователем в HTML форме в соответствии с базой данныхПроверка электронной почты для конкретного пользователя, используя PHP и MYSQL
У меня есть база данных называется тестирование и таблицы которая имеет два поля: имя и адрес электронной почты.
это код
<html>
<body>
<form action="conn.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname="testing";
$name=$_POST['name'];
$mail=$_POST['email'];
// Create connection
$conn1 = new mysqli($servername, $username, $password, $dbname);
$query='select email from info where name= "$name"';
$results = mysqli_query($conn1,$query);
$row= mysqli_fetch_assoc($results);
echo $row["email"];
$email=$row["email"];
if($mail==$email){
echo " correct values";
}
else
echo " incorrect";
//echo $name, $email;
// Check connection
//if ($conn1->connect_error) {
// die("Connection failed: " . $conn1->connect_error);
//}
//echo "Connected successfully";
$conn1->close();
?>
, но результат всегда неправильно. Значения, которые я вводил в текстовые поля, соответствуют значениям в базе данных.
Первый: Не пытаться интерполировать пользователя -ввод непосредственно в sql запросов, используйте заполнители ('?'), иначе вы можете использовать атаки SQL-Injection. Если бы вы использовали заполнители, запрос действительно сработал бы - поскольку ваш код стоит вам выбрать для буквального «$ name» в качестве имени, а не для введенного имени. –