2015-06-09 126 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中的記錄。現在一切正常!

相關問題