Php 单击按钮执行MySQL删除
在我的代码中,我在HTML表中显示了数据库中名为staff的表,我想在HTML表中的每一行添加一个delete按钮,单击该按钮时,它将删除与其关联的记录 基于搜索其他解决方案,我的代码如下所示: staff.php:Php 单击按钮执行MySQL删除,php,mysql,database,Php,Mysql,Database,在我的代码中,我在HTML表中显示了数据库中名为staff的表,我想在HTML表中的每一行添加一个delete按钮,单击该按钮时,它将删除与其关联的记录 基于搜索其他解决方案,我的代码如下所示: staff.php: require_once('../connection.php'); //delete row on button click if(isset($_GET["del"])){ $idc = $_GE
require_once('../connection.php');
//delete row on button click
if(isset($_GET["del"])){
$idc = $_GET["del"];
if($VisitorManagement->query("DELETE FROM staff WHERE id=$idc")){
header('Location: delete-thankyou.php');
} else {
echo "Failed to delete staff member.";
}
}
$result = mysqli_query($VisitorManagement, "SELECT * FROM staff ORDER BY fullName");
echo "<table id='staff'>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th></th>
</tr>
</thead>";
while($row = mysqli_fetch_array($result))
{
echo "<tbody>";
echo "<tr>";
echo "<td>" . $row['fullName'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td><a class='button alert' href='staff.php?del=".$row["idc"]."'>Delete</a></td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
不幸的是,当我点击其中一个按钮时,它无法删除记录,并回显staff.php中预定义的错误消息。我是不是错过了一些让它工作的东西?我可以通过将idc的所有实例更改为id来修复它 新代码是:
require_once('../connection.php');
//delete row on button click
if(isset($_GET["del"])){
$id = $_GET["del"];
if($VisitorManagement->query("DELETE FROM staff WHERE id=$id")){
header('Location: delete-thankyou.php');
} else {
echo "Failed to delete staff member.";
}
}
$result = mysqli_query($VisitorManagement, "SELECT * FROM staff ORDER BY fullName");
echo "<table id='staff'>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th></th>
</tr>
</thead>";
while($row = mysqli_fetch_array($result))
{
echo "<tbody>";
echo "<tr>";
echo "<td>" . $row['fullName'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td><a class='button alert' href='staff.php?del=".$row["id"]."'>Delete</a></td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
require_once('../connection.php');
//单击按钮删除行
如果(isset($_GET[“del”])){
$id=$\u GET[“del”];
if($VisitorManagement->query(“从职员中删除,其中id=$id”)){
标题('Location:delete thankyou.php');
}否则{
echo“未能删除工作人员。”;
}
}
$result=mysqli_query($VisitorManagement,“按全名从员工订单中选择*);
回声“
名称
电子邮件
";
while($row=mysqli\u fetch\u数组($result))
{
回声“;
回声“;
回显“$row['fullName']”;
回显“$row['email']”;
回声“;
回声“;
}
回声“;
回声“;
我可以通过将idc的所有实例更改为id来修复它
新代码是:
require_once('../connection.php');
//delete row on button click
if(isset($_GET["del"])){
$id = $_GET["del"];
if($VisitorManagement->query("DELETE FROM staff WHERE id=$id")){
header('Location: delete-thankyou.php');
} else {
echo "Failed to delete staff member.";
}
}
$result = mysqli_query($VisitorManagement, "SELECT * FROM staff ORDER BY fullName");
echo "<table id='staff'>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th></th>
</tr>
</thead>";
while($row = mysqli_fetch_array($result))
{
echo "<tbody>";
echo "<tr>";
echo "<td>" . $row['fullName'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td><a class='button alert' href='staff.php?del=".$row["id"]."'>Delete</a></td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
require_once('../connection.php');
//单击按钮删除行
如果(isset($_GET[“del”])){
$id=$\u GET[“del”];
if($VisitorManagement->query(“从职员中删除,其中id=$id”)){
标题('Location:delete thankyou.php');
}否则{
echo“未能删除工作人员。”;
}
}
$result=mysqli_query($VisitorManagement,“按全名从员工订单中选择*);
回声“
名称
电子邮件
";
while($row=mysqli\u fetch\u数组($result))
{
回声“;
回声“;
回显“$row['fullName']”;
回显“$row['email']”;
回声“;
回声“;
}
回声“;
回声“;
您应该发布错误消息,以使我们更轻松。@ExoSkeleton321它只显示我在我的staff.php代码中预定义的“未能删除工作人员”错误消息。我已经运行了代码,它在我的计算机上工作。您确定这是$row[“idc”]而不是$row[“id”]?:)您应该尝试使用catch(异常$e){echo“error:“.$e->getMessage();}
获取实际的错误消息。试试看,让我们知道错误在说什么。你应该发布你得到的错误消息,让我们更容易一点。@ExoSkeleton321它只显示我在我的staff.php代码中预定义的“未能删除工作人员”错误消息。我已经运行了代码,它可以在我的计算机上运行。你确定这是$row[“idc”]而不是$row[“id”]? :)您应该尝试使用catch(异常$e){echo“error:“.$e->getMessage();}
获取实际的错误消息。试试看,让我们知道错误在说什么。几个安全建议:使用参数化查询来防止SQL注入。如果使用GET请求删除记录,则浏览器预取和基于浏览器的链接检查器将删除任何可见记录。当您使用POST进行删除时,不要忘记CSRF保护。几个安全建议:使用参数化查询来防止SQL注入。如果使用GET请求删除记录,则浏览器预取和基于浏览器的链接检查器将删除任何可见记录。当您使用POST进行删除时,不要忘记CSRF保护。