我正在尝试从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 />";
}
答案 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方法,这样你就不会意外地改变某些东西。