php sql删除按钮

时间:2012-12-21 21:21:51

标签: php sql button sql-delete

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

$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 />";
}

1 个答案:

答案 0 :(得分:2)

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

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

然后你的删除只能抓住$ _GET gloabal中的params,然后将它们传递给你的sql

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

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

但是,您永远不应将用户变量传递到您的sql字符串中。你让sql injection attacks开放。我建议使用PDO来逃避你的SQL。我还建议对任何破坏性数据库操作使用post方法,这样你就不会意外地改变某些东西。