我已经看了一段时间了,我所做的只是用 mysql 学习 PHP,之前没有任何编程经验,所以请多多关照。我需要从表中删除整行。该表位于 list.php
中,并且有一个重定向到 delete.php
的删除按钮。但它所做的一切都是将我重定向到一个空白页面,其中的 url 类似于 "delete.php?id=4"
,具体取决于行 ID,这似乎是正确的。
这是connect.php
:
<?php
$server = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "school";
$db_conn = mysqli_connect($server, $db_user, $db_pass, $db_name);
$connect_error = 'Sorry, we are experiencing connection problems';
mysql_connect('localhost', 'root', '') or die($connect_error);
mysql_select_db('school') or die($connect_error);
?>
这是 delete.php
:
<?php
if(isset($_GET['ID'])){
$courseID = $_GET['ID'];
$sql_delete = "DELETE FROM Courses WHERE ID = $courseID";
print ($sql_delete);
$result = mysqli_query($db_conn,$sql_delete);
if($result) {
echo "Congratulations. You have deleted this course succesfully.";
header('location:list.php');
} else {
echo "Error";
error_reporting(E_ALL ^ E_DEPRECATED);
}
}
?>
注意“print ($sql_delete);
”,它也不打印任何内容。我能想到的是我使用 $_GET
请求 ID 的方式有问题,但我无法理解它。当我运行时
"DELETE FROM Courses WHERE ID = 4;"
在 xampp 的 mysql 模块中,它可以工作。嗯……好吧。
好的,我补充一下: 这实际上是我在 list.php 中的删除按钮,它根据类(class) ID 为我提供了一个基于表行号的 URL。
<?php echo "<td><a href=\"delete.php?id=$row[ID]\">Delete</a>";?>
最佳答案
连接.php
$server = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "school";
$db_conn = mysqli_connect($server, $db_user, $db_pass, $db_name);
删除.php
if(isset($_GET['ID'])){
$courseID = $_GET['ID'];
$sql_delete = "DELETE FROM Courses WHERE ID = $courseID";
$result = mysqli_query($db_conn,$sql_delete);
if(mysqli_affected_rows($db_conn)>0) {
header('location:list.php?result=success');
} else {
header('location:list.php?result=fail');
}
}
list.php(删除按钮在哪里)
<?php
if(isset($_GET['result'))
{
if($_GET['result']=='success')
{
echo "Congratulations. You have deleted this course succesfully.";
}
else{
echo "error";
}
}
?>
(Delete button)
<a href="delete.php?ID=5" >Delete</a>
关于带有链接按钮的 HTML 表中的 PHP MySQL DELETE 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34250426/