当两个字段与数据库中的记录相同时,我想删除数据库中的记录。
我有一个带有2个输入字段的表单。这些通过AJAX获取,并通过服务器上的PHP文件运行到“ delete_form_data.php”。 当我写电子邮件和密钥时,我希望它删除记录。
$delete = $_POST['delete'];
$secretKey = $_POST['secretKey'];
$query = mysqli_query($conn, "SELECT * FROM form WHERE email='$delete' AND secretKey='$secretKey'");
$sql = "DELETE FROM form WHERE email='$delete' AND secretKey='$secretKey'";
if(mysqli_num_rows($query) < 0) {
echo "The email: " . $_POST['delete'] . " or " . $_POST['secretKey'] . " does not exist in our records";
}
elseif(!mysqli_query($conn, $sql)) {
echo "Could not delete data!";
}
else {
echo "You have deleted your information from our site. We hope you will come back!";
}
这是我目前拥有的代码,但是它不起作用。当我输入电子邮件而不是secretKey时,它将删除记录。并推送回声以完成操作。
当我输入secretKey而不是电子邮件时,它不会删除记录,但会以任何一种方式推动完成的Echo。
我想要的是,仅当电子邮件和secretKey相同时才应删除记录。注册时,您设置了一个秘密密钥,必须使用该密钥将您从记录中删除。
我以为,当我在此处使用AND关键字时,它会同时检查email和secretKey,如果两者都不匹配,则不会删除,但事实并非如此。
我希望有人给我一些建议。
先谢谢了。 PS:当建议的答案完全不同时,为什么将此答案标记为已回答?