“删除”按钮不删除数据库中的所有值


Delete button not deleting all values from database

我在详细信息页面上创建了一个删除按钮,该按钮删除了必须删除的值。删除后,代码似乎可以正常工作,因为它在详细信息页面上没有显示任何信息,但是当我转到 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();
?>