PHP删除功能失败,没有错误
在我的admin PHP(admin.PHP)的顶部,我从“DogSport”MySQL数据库的“Sport”表中加载了数据。在点击特定记录的“编辑”链接后,我可以在“editform2.php”上编辑、删除该记录。即使在那一页上,我也可以插入一条新记录 问题:删除第一条和第二条记录无效!删除以下所有记录可以正常工作。此问题仅适用于删除功能 我已经上传了必要的文件,你也可以用它来检查包括database.sql脚本。谢谢你的帮助 代码段-admin.phpPHP删除功能失败,没有错误,php,mysql,Php,Mysql,在我的admin PHP(admin.PHP)的顶部,我从“DogSport”MySQL数据库的“Sport”表中加载了数据。在点击特定记录的“编辑”链接后,我可以在“editform2.php”上编辑、删除该记录。即使在那一页上,我也可以插入一条新记录 问题:删除第一条和第二条记录无效!删除以下所有记录可以正常工作。此问题仅适用于删除功能 我已经上传了必要的文件,你也可以用它来检查包括database.sql脚本。谢谢你的帮助 代码段-admin.php include("dbconnec
include("dbconnect.inc.php");
//Retrieving Data
$query1 = "SELECT * FROM Sport ORDER BY SportId ASC";
$result2 = mysqli_query($con, $query1);
$rows = mysqli_num_rows($result2);
$i = 0;
if ($rows == 0)
echo "<br/>There are no records";
else {
echo "<table id='sport'>";
echo "<tr><th>Sport Id</th><th>Sport Name</th><th>Description</th></tr>";
while ($row = mysqli_fetch_array($result2)) {
echo "<tr><td>" . $row["SportId"] . "</td><td>" . $row["SportName"] . "</td><td>" . $row["Description"] .
"</td><td> <a href='editform2.php?id=" . $row["SportId"] . "' target='_blank'>Edit</a></td></tr>";
$i++;
}
echo "</table>";
}
include(“dbconnect.inc.php”);
//检索数据
$query1=“按SportId ASC从运动订单中选择*”;
$result2=mysqli_查询($con,$query1);
$rows=mysqli\u num\u行($result2);
$i=0;
如果($rows==0)
echo“
没有记录”;
否则{
回声“;
回显“Sport IdSport name description”;
while($row=mysqli\u fetch\u数组($result2)){
回显“$行[“SportId”]。$行[“SportName”]。$行[“说明”]。
" ";
$i++;
}
回声“;
}
代码段-editform2.php
if (isset($_POST["delete"])) {
$id = $_GET["id"];
include("dbconnect.inc.php");
$query3 = "DELETE FROM Sport WHERE SportId=$id";
mysqli_query($con, $query3);
echo "<h1>Deleted Successfully</h1>";
mysqli_close($con);
}
if(isset($\u POST[“delete”])){
$id=$_GET[“id”];
包括(“dbconnect.inc.php”);
$query3=“从运动中删除,其中SportId=$id”;
mysqli_查询($con,$query3);
回显“删除成功”;
mysqli_close($con);
}
更新!!!!我现在得到这个错误
DogSport正在使用中。错误:从SportId=2的Sport中删除
无法删除或更新父行:外键约束失败(
dogsport
orders
,约束orders\u ibfk\u 1
外键(EqId
)引用设备(EqId
)“无错误失败”-当然,它会无错误地失败,您没有在删除查询中检查任何内容。您的代码易受SQL注入和跨站点脚本攻击。请阅读和获取有关如何修复它的信息。这个问题非常奇怪。“运动”表有5条记录。如果我尝试删除第一条或第二条记录(例如,sport id 1和2),则表明它们已被删除(未显示错误),但实际上尚未从数据库表中删除。但奇怪的是,如果我删除记录(运动id 3、4、5),它们实际上会从表中删除。仅删除时,仅第一条和第二条记录存在问题。它们实际上也被更新。错误显示,订单
表与表设备
中的列EqId
有关系。我有充分的理由怀疑设备
与链中的运动
表有关。是的,先生,你是对的。“设备”表在“运动”表中有一个指向SportId的外键。但我也用过类似于这样的删除级联。为什么不起作用?外键(SportId)在删除级联时引用Sport(SportId)。