繁体   English   中英

PHP中MySQL的“删除行”按钮

[英]“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);

并考虑使用mysqliPDO (并使用参数化查询),因为不推荐使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM