从名称和secretKey必须正确的地方删除

时间:2019-04-25 07:32:57

标签: php mysql sql mysqli

当两个字段与数据库中的记录相同时,我想删除数据库中的记录。

我有一个带有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:当建议的答案完全不同时,为什么将此答案标记为已回答?

0 个答案:

没有答案