所以,我試圖驗證根據數據庫的用戶名和電子郵件用戶在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注入攻擊。如果您使用過佔位符,則查詢實際上已經起作用 - 因爲您的代碼支持您選擇文字'$ name'作爲名稱,而不是輸入的名稱。 –