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

时间:2013-06-17 15:19:30

标签: php mysql button sql-delete

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

<?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");
?>

请纠正错误,并教我为什么要这样做:

  

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

4 个答案:

答案 0 :(得分:4)

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

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

最后一个是导致错误的原因。

答案 1 :(得分:0)

  1. mysql_query()声明后应该没有分号: $ update = mysql_query(“DELETE username ='ddd'FROM users;”)或死(mysql_error());

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

    回声“                 “;

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

    if(!empty($ _ POST ['update']))

  4. 将此mysql查询更改为:

    $ update = mysql_query(“DELETE FROM users WHERE username ='ddd'”);

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

    回声“                “;

答案 2 :(得分:0)

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

应该做的伎俩

答案 3 :(得分:0)

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

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

应该成为这个:

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

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

"DELETE FROM `users` WHERE  username = 'ddd' ;"