我这里有一个简单的脚本,用于从数据库中删除用户。 “$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);
}
?>
我得到的只是“0”的 mysqli_connect_error/errno 代码;
我什至将变量更改为整数(例如:21),但它仍然不起作用。
有什么想法吗?
最佳答案
在 Tim Biegeleisen 的大力帮助下,我们找出了问题所在。
连接到 users_list
表的是来自另一个表的外键,它阻止记录/行被删除。我编辑了我原来的删除功能,所以首先删除了另一个表中的记录,然后直接删除了 users_list
中的记录。现在一切正常!
关于php - MYSQL 删除查询在控制台中有效,但在 PHP 脚本中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30721513/