我在详细信息页面上创建了一个删除按钮,该按钮删除了必须删除的值。删除后,代码似乎可以正常工作,因为它在详细信息页面上没有显示任何信息,但是当我转到 PHPMyAdmin 时,它仍然显示一些值......我正在使用三个表的人,地址,简历后按删除人员的值,但不从地址和简历中删除。
我的删除代码:
<?php
$servername = "localhost";
$username = "root";
$password = "usbw";
$dbname = "persons";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id=$_GET['id'];
$stmt = $conn->prepare('DELETE FROM person WHERE person_id = ?');
$stmt->bind_param('s', $id);
$result = $stmt->execute();
if ($result === FALSE) {
die("Error: " . $stmt->error);
}
$conn->close();
?>
我在 CASCADE 上为 address_id 和 cv_id 设置了 ON DELETE,这与person_cv和person_address有关。我也不想为这个小问题开始一个新话题......当我按删除时,它会转到一个名为 http://localhost:8080/Website/delete.php?id=(randomid)的空页面,我希望它返回到详细信息页面。
header("Location: http://localhost:8080/Website/detailpage");
(或您的详情页面的名称)
检查外键级联
<?php
$servername = "localhost";
$username = "root";
$password = "usbw";
$dbname = "persons";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id=$_GET['id'];
if ($conn->query(sprintf ( "DELETE FROM person WHERE person_id = '%s' ", mysql_real_escape_string ( $id ) ) )) {
header('Location: detailpage.php');
}
else{
printf("Errormessage: %s'n", $mysqli->error);
exit();
}
$conn->close();
?>