Php 无法从MySQL中删除行

Php 无法从MySQL中删除行,php,mysql,Php,Mysql,我有一个与PHP和MySQL项目的问题。 我想从文档中删除一行,但无法删除。 这很奇怪,因为当我单击我的按钮delete时,他会转到index.php,但它不会从数据库中删除该行 if(isset($_POST['delete'])){ $sql = "DELETE FROM account WHERE idAccount = '".$id."'"; $result = $conn->query($sql); header("location: index.php"

我有一个与PHP和MySQL项目的问题。 我想从文档中删除一行,但无法删除。 这很奇怪,因为当我单击我的按钮delete时,他会转到index.php,但它不会从数据库中删除该行

if(isset($_POST['delete'])){
    $sql = "DELETE FROM account WHERE idAccount = '".$id."'";
    $result = $conn->query($sql);
    header("location: index.php");
}

正如@nico haase已经提到的,您的陈述是错误的:

$sql = "DELETE FROM account WHERE idAccount = ".$id."'";
计算以检查尾随的引号: 从idAccount=NUMBER'的帐户中删除


此外,我同意@ramraider,这是一个很大的sql注入。您应该在最低int$_POST['id']或最多使用PDO时对输入进行清理。

试试这个,您已经在$id之后插入了'


$id在哪里定义?您是否尝试过检查SQL错误?您的ID后面有一个引号,但前面没有。您的代码容易受到sql注入的攻击-您应该在mysqli或PDO中使用准备好的语句。。。PHPmyAdmin只是一个基于web的GUI,用于管理mysql数据库PHPmyAdmin只是一个交互式工具,数据库就是mysql。确认是工具中的一个额外检查,它不是来自数据库,也不会影响脚本。无论如何,每个答案都可能是错误的。我们不知道idAccount是INT还是VARCHAR。当然,我可以用UUIDof生成我的帐户……这是一种很好的做法,可以对帮助您解决问题的答案进行投票并将其标记为正确答案。我不是说我的是,只是给你一个提示;
if(isset($_POST['delete'])){
    $sql = "DELETE FROM account WHERE idAccount = ".$id."";
    $result = $conn->query($sql);
    header("location: index.php");
}
if(isset($_POST['delete'])){
    $sql = "DELETE FROM account WHERE idAccount = '".$id."'";
    $result = $conn->query($sql);
    header("location: index.php");
}