让我知道通过表单从数据库中删除用户的正确方法是什么。
<?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在线...
答案 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)
mysql_query()
声明后应该没有分号:
$ update = mysql_query(“DELETE username ='ddd'FROM users
;”)或死(mysql_error());
您不应对()
使用括号echo
,因为它是一种语言结构,而不是函数:
您应该将''
用于变量keys
,并应检查相应的键值对是否为空,如下所示:
if(!empty($ _ POST ['update']))
将此mysql查询更改为:
$ update = mysql_query(“DELETE FROM users
WHERE username ='ddd'”);
您应该使用与使用服务器端的$_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' ;"