-4

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

<?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

4 回答 4

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

最后一个是你的错误的原因。

于 2013-06-17T15:22:04.517 回答
0
  1. 语句后不应有分号mysql_query(): $update = mysql_query("DELETE username = 'ddd' FROM users;") or die(mysql_error());

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

    回声“”;

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

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

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

    $update = mysql_query("DELETE FROM usersWHERE username = 'ddd'");

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

    回声“”;

于 2013-06-17T15:22:09.423 回答
0
$result = mysql_query("DELETE FROM table_name WHERE username = 'ddd'") or die(mysql_error());

应该做的伎俩

于 2013-06-17T15:22:13.497 回答
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());

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

"DELETE FROM `users` WHERE  username = 'ddd' ;"
于 2013-06-17T15:22:16.933 回答