我的PHP代码的一部分只删除了第一个" post"在SQL而不是选定的:
if (isset ($_POST['delete'])){
$result = mysql_query ("SELECT * FROM posts") or die(mysql_error());
$data = mysql_fetch_array($result);
mysql_query ("DELETE FROM posts WHERE id = $data[id]");
header("Location: main.php");
};
为什么会这样?
答案 0 :(得分:0)
一步一步,这就是你正在做的事情,为什么会发生这种情况:
1)检查是否设置了post variable delete:
if (isset ($_POST['delete'])){
2)从数据库中获取所有帖子:
$result = mysql_query ("SELECT * FROM posts") or die(mysql_error());
3)从$ result数组中取出第一项
$data = mysql_fetch_array($result);
4)删除刚刚提取的项目
mysql_query ("DELETE FROM posts WHERE id = $data[id]");
5)重定向到main.php
header("Location: main.php");