【发布时间】:2016-03-27 12:20:56
【问题描述】:
我正在从带有回显行中的删除按钮的表中选择记录。当我单击相应的删除按钮时,我希望能够删除记录。 这是我从另一个查询中删除所选记录的删除查询,但它不起作用!
$querytwo = 'DELETE FROM paginas WHERE id= $_POST["id"]';
我做错了什么。它是什么?这是完整的代码。
<?php
include_once("config.php"); //this is the database connection
$query = "SELECT * FROM paginas "; //selects from the table called paginas
$result = mysqli_query($mysqli, $query);
while($row = mysqli_fetch_assoc($result))
{
$pagetitle = $row['pagetitle'];
$toevoeging = $row['toevoeging'];
$message = $row['message'];
echo '<article class="topcontent">
<div class="mct">
<h2>' . $pagetitle .'</h2>
</div><br>
<p class="post-info">'. $toevoeging . '</p>
<p class="post-text"><br>'.$message.'</p>
</article>
<div class="deleteknop">
<form method="post">';
echo '<input type="hidden" name="id" value="'.$row['id'].'">
<input name="delete" type="submit" value="Delete Now!">
</form>
</div>' ;
}
$querytwo = 'DELETE FROM paginas WHERE id= $_POST["id"]';
if (isset($_POST['delete'])) //Deletes the query if 'delete' button is clicked
{
$resulttwo = $mysqli->query($querytwo);
}
?>
搞定了。我将线路更改为$querytwo = "DELETE FROM paginas WHERE id= $_POST[id]"; 它的功能。虽然有警告通知说“Notice: Undefined index”,但感谢error_reporting(0);,我摆脱了它
【问题讨论】:
-
id后面有一个提取单引号。如果id是数字,则不需要单引号。如果它是一个字符串,那么它之前也应该有一个。 -
好的,所以我把这一行改成了这个,因为 id 是一个 int。 $querytwo = 'DELETE FROM
paginasWHERE id='$row'[id] LIMIT 1';你会说应该这样做吗?因为它仍然没有删除任何东西。 -
你为什么用一次
mysqli_query($mysqli, $query)然后$mysqli->query($querytwo); -
因为它们是两个不同的查询,对吧? $query 用于选择记录,$querytwo 用于删除记录
-
不。我的意思是
mysqli_queryvs$mysqli->query