【发布时间】:2024-04-29 16:45:02
【问题描述】:
在我的管理 PHP (admin.php) 的顶部,我已经从“DogSport”MySQL 数据库中的“Sport”表中加载了数据。单击特定记录的“编辑”链接后,我可以 编辑,删除“editform2.php”上的记录。即使在那个页面上,我也可以插入一条新记录。
问题:删除第一条和第二条记录不起作用!删除所有以下记录工作正常。此问题仅与删除功能有关。
代码段 - admin.php
<?php
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>";
}
?>
代码段 - editform2.php
if(isset($_POST["delete"])){
include("dbconnect.inc.php");
$query3="DELETE FROM Sport WHERE SportId=$id";
mysqli_query($con, $query3);
echo "<h1>Deleted Successfully</h1>";
mysqli_close($con);
}
我已经上传了必要的文件,你也可以使用包括数据库.sql脚本来检查它。感谢您的帮助。
【问题讨论】:
-
不确定是否 100% 但您使用的是 mysqli_query($con, $query3) 并且根据您的保管箱文件,$con 仅选择了数据库服务器,而不是数据库本身?应该是 mysqli_query($db_selected, $query3) 还是将 dbconnect.inc.php 文件中的 $con 更改为 mysqli_connect($servername, $username, $password, $dbname) 并消除单独连接到数据库的额外步骤
-
您的建议似乎是正确的!我会尽快尝试的。但神秘的是,删除不仅对前两条记录有效。删除以下记录没有任何问题。如果选择数据库有问题,则不会删除任何记录。 :(
-
我已将所有这些上传到我的服务器,我可以删除所有行。你能确认是什么问题吗?
-
问题很奇怪。 “运动”表有 5 条记录。如果我尝试删除第一条或第二条记录(例如,运动 id 1 和 2),则表明它们已被删除(未显示错误),但实际上并未从数据库表中删除它们。但奇怪的是,如果我删除记录(运动 id 3、4、5),它们实际上会从表中删除。仅删除时仅存在第一条和第二条记录的问题。他们实际上也更新了..
-
我下载了您的文件,上传了它们,将 SQL 表添加到测试数据库中,当我通过编辑表单页面删除这些行时,我们删除了
Sport表中的所有内容。正如预期的那样。也许有什么东西在它们被移除后重新插入到你的一端?不过,使用您在 Dropbox 中提供的数据,一切正常。
标签: php html mysql content-management-system