[英]“Delete row” button for MySQL in PHP
我有一个表,该表中填充了来自MySQL数据库的数据,并且每一行都有自己的删除按钮。 我希望可以选择使用删除按钮分别删除每一行,该按钮用于删除数据库中的相应行。 我将如何去做? 这是我到目前为止必须要完成的部分代码,似乎根本无法正常工作。
if(isset($_POST['id'])) {
$id = $_POST['id'];
$delete = mysql_query($conn,"DELETE FROM mods WHERE id = '$id'");
}
省略了不重要的代码。
表格/表格创建:
echo "<td><form action=\"\" method=\"post\"></td>";
echo "<tr class='modlist'>";
echo "<td>".$row['id']."</td>";
echo "<td><div class=\"edit\" id=\"div_1\">".$row['title']."</div></td>";
echo "<td><div class=\"edit\" id=\"div_2\"><a href=".$row['mod_url'].">".$row['mod_url']."</a></div></td>";
echo "<td><div class=\"edit\" id=\"div_3\">".$row['developer']."</div></td>";
echo "<td><div class=\"edit\" id=\"div_4\">".$row['type']."</div></td>";
echo "<td><div class=\"edit\" id=\"div_5\">".$v162."$nbsp".$v164."$nbsp".$v172."</div></td>";
echo "<td><div class=\"edit\" id=\"div_6\">".$row['title'].",$nbsp".$row['developer']."</div></td>";
echo "<td><div id=\"save\"><input type=\"submit\" name=\"save\" value=\"Save\"></div></td>";
echo "<td><div id=\"delete\"><input type=\"submit\" name=\"delete\" value=\"Delete\"></div></td>";
echo "</tr>";
echo "</form>";
}
向后具有mysql_query()
的参数。 首先传递查询,然后传递$ conn。
$delete = mysql_query("DELETE FROM mods WHERE id = '$id'", $conn);
但是请注意,您现在遇到了SQL注入问题! 在使用$ id之前对其进行消毒!
$id = mysql_real_escape_string($id);
并考虑使用mysqli
或PDO
(并使用参数化查询),因为不推荐使用mysql_*
!
表单操作需要具有名称为“ id”的控件,否则$ _POST将不会获得任何ID。
您可以像<input type="hidden" name="id" value=".$row['id']." />
<input type="hidden" name="id" value=".$row['id']." />
另外,建议您看看如何防止PHP中的SQL注入? 由于您显示的代码形式的表单看起来完全脆弱。
UPDATE
您还必须像上面提到的nl-x一样修复$delete
查询:
$delete = mysql_query("DELETE FROM mods WHERE id = '$id'", $conn);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.