我正在学习php,所以我为自己设定了创建待办事项列表的任务。
我已经到了可以添加记录,显示记录或记录的地方。现在我想编辑该记录并删除该记录,但有点困惑。所以我想我需要定位该记录的唯一ID才能进行更新或删除。
以下是我为了让我开始而放在一起的内容:
mysqli_query($con,"UPDATE items SET content='blah blah blah' WHERE id=id");
if (isset($_POST['content'])) {
mysqli_query($con,"UPDATE items SET content='".mysqli_real_escape_string($con, $_POST['content'])."' WHERE id='".mysqli_real_escape_string($con, $_POST['id'])."' ");
}
header('Location: index.php');
mysqli_close($con);
这与表格相关联:
<form action="insertupdate.php" method="post">
<input type="hidden" name="id" value ="1">
Content: <input type="text" name="content">
<input type="submit">
</form>
我还创建了一个列有三个状态的列0 =删除1 =活动2 =完成
我有点卡住,只需要一个指针。
答案 0 :(得分:1)
您的查询应如下所示:
mysqli_query($con,"UPDATE items SET content='blah blah blah' WHERE id=1");
修改强>
if (isset($_POST['content'])) {
mysqli_query($con,"UPDATE items SET content='".mysqli_real_escape_string($con, $_POST['content'])."' WHERE id=1");
}
但是,您应该了解How to prevent SQL-injection以确保您的代码安全。
<强> EDIT2 强>
<form action="insertupdate.php" method="post">
Content: <input type="text" name="content">
<input type="hidden" name="id" value = "1">
<input type="submit">
</form>
和
if (isset($_POST['content'])) {
mysqli_query($con,"UPDATE items SET content='".mysqli_real_escape_string($con, $_POST['content'])."' WHERE id=".intval($_POST['id']));
}
答案 1 :(得分:1)
varchar类型值必须用单引号或双引号写。