【问题标题】:php sql delete buttonphp sql删除按钮
【发布时间】:2012-12-09 11:02:14
【问题描述】:

我正在尝试从 sql 中创建一个删除按钮。我启动了一个名为 $del 的函数,但我不知道如何完成它,其形式是在当前回显语句旁边回显一个删除按钮。

$con = mysql_connect("localhost", "user", "pass");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);
$sql = "INSERT INTO camps (city, map, park, day, details) 
    VALUES ('$_POST[city]','$_POST[map]','$_POST[park]','$_POST[day]','$_POST[details]')";

if (!mysql_query($sql, $con)) {
    die('Error: ' . mysql_error());
}

$number = 0;
$del = mysql_query("DELETE FROM camps WHERE user_id= '$number'");

$result = mysql_query("SELECT * FROM camps");

while ($row = mysql_fetch_array($result)) {
    echo "<a href=\"'" . $row['map'] . "\">" . $row['city'] . "</a>";
    echo "<br />";
}

【问题讨论】:

    标签: php sql button sql-delete


    【解决方案1】:

    您需要让您的链接将参数传递给将删除该记录的脚本。 您的链接看起来像这样

     echo "<a href=\"'delete.php?id=" . $user_id"\">" . $row['city'] . "</a>";
    

    然后你的删除可以从 $_GET 全局获取参数,然后像这样将它们传递到你的 sql 中

      $del = mysql_query("DELETE FROM camps WHERE user_id=" . $_GET['user_id']);
    

    当前查询将删除该用户的所有阵营(根据需要调整参数/sql)。

    但是,您永远不应该将用户变量传递到您的 sql 字符串中。你让自己为sql injection attacks 敞开心扉。我建议使用PDO 来转义你的sql。我还建议对任何破坏性的数据库操作使用 post 方法,这样您就不会意外更改某些内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 2014-01-30
      • 2017-09-26
      • 2013-05-30
      相关资源
      最近更新 更多