MYSQL删除查询在控制台中工作,但在PHP脚本中不起作用

时间:2015-06-09 01:13:29

标签: php mysql sql-delete

我这里有一个简单的脚本,用于从数据库中删除用户。 “$ query”在控制台中运行正常,但是无论我尝试什么,通过这个脚本都无法正常工作:

<?php
  require_once("../includes/session.php");
  require_once("../includes/db_connection.php");
  require_once("../includes/functions.php");

  if (isset($_POST["submit_delete"])) {
    $this_user_id = $_GET["id"];

    $query = "DELETE FROM users_list WHERE id = {$this_user_id}";
    $result = mysqli_query($connection, $query);
    confirm_query($result); // function that runs connect_error/errno

    if ($result) {
      $_SESSION["message"] = "User deleted successfully.";
      redirect_to("index.php");
    } else {
      $_SESSION["message"] = "Query failed. User was not deleted";
      redirect_to("edit_user.php?id=" . $this_user_id);
    }

  } else {
    $_SESSION["message"] = "Something went wrong. Your user wasn't deleted.";
    redirect_to("index.php");
  }

  mysqli_free_result($result);

  if (isset($connection)) {
    mysqli_close($connection);
  }
?>

我得到的是一个mysqli_connect_error / errno代码为“0”;

我甚至将变量更改为整数(例如:21),但它仍然不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在Tim Biegeleisen的帮助下,我们找出了问题所在。

挂钩到users_list表是另一个表中的外键,它阻止记录/行被删除。我编辑了我的原始删除功能,因此首先删除了另一个表中的记录,然后直接删除users_list中的记录。现在一切正常!