2 回答
TA贡献1801条经验 获得超8个赞
作为最简单的解决方法:
<?php
include_once('mysql.php');
// make sure that form is submitted
if (isset($_POST['id'])) {
$ins = "DELETE FROM MyGuests WHERE id=" . $_POST['id'] . " LIMIT 1";
if ($conn->query($ins) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error: " . $ins . "<br>" . $conn->error;
}
}?>
另请注意,将原始 /值传递到查询文本中是不安全的。由于您没有提到您使用的API(PDO或mysqli),因此我在查询中串联了值,但您不得这样做。尽快移至预准备语句。$_POST$_GET$_POST
预准备语句版本(我假设您根据比较使用):mysqli
$ins = "DELETE FROM MyGuests WHERE id=? LIMIT 1";
$st = $conn->prepare($ins);
$st->bind_param('i', $_POST['id']);
if ($st->execute() === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error: " . $ins . "<br>" . $conn->error;
}
TA贡献1887条经验 获得超5个赞
$id
未定义。您正在提交表单,因此它可能应该是:DELETE FROM MyGuests WHERE id={$_POST['id']}
你也不应该需要 LIMIT 1。我想它总是只删除1条记录。
- 2 回答
- 0 关注
- 85 浏览
添加回答
举报