gpt4 book ai didi

php - 错误从 php 中删除行

转载 作者:太空宇宙 更新时间:2023-11-04 15:09:19 24 4
gpt4 key购买 nike

我有一个包含输入的表单:邮件当电子邮件的值存在于数据库中时,我想从我的数据库中删除行但它不工作我的 HTML 是

<form action="delete.php" method="post">
<h3>Email:</h3><input type="text" name="email" required/>
<input type="submit" value="Delete" />
</form>

我的PHP页面是

<?php
include("connexion.php");
$email=$_POST['email'];
$req='DELETE FROM `personne` WHERE email="$email";';
if(mysql_query($req))
{
echo 'Delete with succes ';
}
else
echo 'error';

所以它告诉我“成功删除”但是当我检查数据库时没有任何变化

最佳答案

在撇号括起来的字符串中,$email 不会替换为 $email 变量。

为此替换它

"DELETE FROM `personne` WHERE email='$email';";

mysql_query($req) 返回 true,因为查询成功:它删除了零行。参见 the reference :

mysql_query() returns a resource on success, or FALSE on error.

...并且资源被评估为 true,因为 PHP 是弱类型语言。

如果要检查删除了多少行,请使用 mysql_affected_rows()。但由于 mysql_* 函数已弃用,我建议提前到 mysqli .

另请仔细阅读 TimWolla 对您的回答的评论。这次删除了零封电子邮件,但如果你稍微弄乱了条件,你可以轻松地从 personne 表中删除所有记录。如果添加 LIMIT 1

,您可以降低它的危险性

关于php - 错误从 php 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com