错误在哪里?(删除按钮)


Where are the mistakes? (Delete button)

让我知道通过表单从我的数据库中删除用户的正确方法是什么。

<?php
    if (!$_POST[update])
    {
        echo
        ("<form method='"POST'">
        <input type='"submit'" value='"delete'" name='"Delete'" />
        </form>");
    }
    else{ 
         $update = mysql_query("DELETE username = 'ddd' FROM `users`;"); 
         or die(mysql_error());
}
// mysql_query("DELETE smth from users");
?>

请纠正错误,并教我为什么会得到这个:

解析错误:语法错误,磁盘中意外的"or"(T_LOGICAL_OR(:...''xampp''htdocs''projectx''members.php在线...

您有多个拼写错误和语法错误:

1(

if (!$_POST['update'])
            ^------^--- missing quotes

2(

echo
(
^---  echo is not a function. brackets are not required

3(

<input type='"submit'" value='"delete'" name='"Delete'" />
                                               ^^^^^^--- name mismatch

你的表单期待update作为参数,但你的表单只能发送Delete,所以你的 if(( 的 true 子句永远不会触发

4(

 $update = mysql_query("DELETE username = 'ddd' FROM `users`;"); or die(mysql_error());
                                                               ^---terminates statement

最后一个是错误的原因。

$result = mysql_query("DELETE FROM table_name WHERE username = 'ddd'") or die(mysql_error());

应该做这个技巧

这在 or 之前有一个 ; ,所以这样:

$update = mysql_query("DELETE username = 'ddd' FROM `users`;"); or die(mysql_error());

应该变成这样:

 $update = mysql_query("DELETE username = 'ddd' FROM `users`;") or die(mysql_error());

您还应该在删除语句中添加一个 where...这种形式的删除不起作用。

"DELETE FROM `users` WHERE  username = 'ddd' ;"
  1. 语句后不应mysql_query()分号:$update = mysql_query("删除用户名 = 'ddd' 从users;"( 或 die(mysql_error(((;

  2. 您不应该使用括号()表示echo因为它是一种语言结构而不是函数:

    回声" '";

  3. 您应该将 '' 用于变量keys,并应检查相应的键值对是否为空,如下所示:

    if (!empty($_POST['update']((

  4. 更正此 mysql 查询,如下所示:

    $update = mysql_query("从users中删除用户名 = 'ddd'"(;

  5. 应使用与在服务器端使用 $_POST 变量检索相同的名称。

    回声" '";