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