我正在尝试从 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 />";
}
最佳答案
您需要使链接将参数传递给将删除该记录的脚本。 您的链接看起来像这样
echo "<a href=\"'delete.php?id=" . $user_id"\">" . $row['city'] . "</a>";
然后你的delete就可以从$_GET全局中获取参数,然后将它们传递到你的sql中,就像这样
$del = mysql_query("DELETE FROM camps WHERE user_id=" . $_GET['user_id']);
当前查询将删除该用户的所有阵营(根据需要调整参数/sql)。
但是,您永远不应该将用户变量传递到您的 sql 字符串中。你让自己对sql injection attacks开放。我建议使用 PDO来逃避你的sql。我还建议对任何破坏性数据库操作使用 post 方法,这样您就不会意外更改某些内容。
关于php sql 删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13997358/