0

复习 php 并处理一个我遇到问题的简单程序。我似乎无法弄清楚如何删除 mysql 行。我将把我的脚本链接到一个粘贴文档中,这样你就可以看到我是如何设置它的。

我不熟悉 AJAX 或 Javascript.. 所以我只是将删除按钮做成了一个表单。如果我能让它发挥作用,我想暂时保持这种状态。

馅饼在这里

4

3 回答 3

2

改变:

mysql_query("DELETE FROM name WHERE name=.'$del'.");

到:

mysql_query("DELETE FROM name WHERE name='".$_POST['$del']."'");

因为:
1.你应该摆脱 . 在查询中,点用于字符串连接。
2.你要使用的值$_POST['$del']--参数$del没有设置

更新:

  1. 更改<input type="hidden" name="del" /> 为:<input type="hidden" name="del" value="theNameYouWantToDelete"/>
  2. 您为所有表单元素指定相同的名称(name="del") - 不建议这样做!最好为每个对象设置不同的名称。
  3. 请不要使用mysql_*- 它已被弃用并且容易受到 sql-injection 的影响,请改用 PDO 或 MySQLi。
于 2012-08-14T04:22:04.753 回答
0

您没有正确连接$del变量。你可以简单地使用:

mysql_query("DELETE FROM name WHERE name='$del'");

另外,您需要在查询$del之前进行设置。DELETE该变量在您尝试使用它之前尚未声明,因此它将是null.

于 2012-08-14T04:20:41.660 回答
0

在第 30 行,您有两个名为 的输入del,第二个不包含要删除的名称

echo '<form id="del" method="post"><input type="submit" name="del" value="X" /><input type="hidden" name="del" /></form>';

需要更改为 -

echo '<form id="del" method="post"><input type="submit" name="del_submit" value="X" /><input type="hidden" name="del" value="'.$del.'" /></form>';

然后将第 12-13 行更改为

if (isset($_POST['del_submit'])) {
mysql_query("DELETE FROM name WHERE name='".$_POST['del']."'");

请注意,mysql_函数是贬值的,你会受到sql注入的影响。

于 2012-08-14T04:34:28.497 回答