2015-06-09 71 views
1

我在这里有一个简单的脚本,用于将用户从数据库中删除。在“$查询”工作在控制台细直的,而是通过这个脚本就只是没有不管我怎么努力工作:MYSQL删除查询在控制台中工作,但不在PHP脚本中

<?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 /“0”的代码错误号;

我甚至已将变量更改为整数(例如21),但它仍然无效。

任何想法?

+4

'$ query =“DELETE FROM users_list WHERE id =”。$ this_user_id;'你试过连接吗? –

+2

你不应该在MySQLi中使用准备好的语句吗? –

+0

什么类型的字段是'id'?你是否尝试用单引号或连接来包装值? – Crackertastic

回答

2

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

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

相关问题