2016-04-24 190 views
0

我想從我的表中刪除一些行。但是,當我點擊刪除,這只是給我一個空白頁面。我很確定id值和我的db連接。無法從數據庫中刪除行

這是我的代碼:

// connect to the database 
include('connect-db.php'); 

// confirm that the 'id' variable has been set 
if (isset($_GET['id']) && is_numeric($_GET['id'])) { 
    // get the 'id' variable from the URL 
    $id = $_GET['id']; 

    // delete record from database 
    if ($stmt = $mysqli->prepare("DELETE FROM my_table WHERE id = ? LIMIT 1")) { 
     $stmt->bind_param("i",$id); 
     $stmt->execute(); 
     $stmt->close(); 
    } else { 
     echo "ERROR: could not prepare SQL statement."; 
    } 
    $mysqli->close(); 

    // redirect user after delete is successful 
    header("Location: Dashboard.php"); 
} else { 
    // if the 'id' variable isn't set, redirect the user 
    header("Location: Dashboard.php"); 
} 
+0

你能[打開錯誤報告](http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php),看看你得到什麼錯誤? – Chris

回答

0

還有一個類似的問題MySQLi Prepared Statement not executing 。基本上,你可以嘗試直接在數據庫中運行SQL來查看是否有任何錯誤。同時確認數據庫用戶具有刪除權限,並且該ID在數據庫中以整數存儲。

+0

我測試了phpmyadmin中的mysqli查詢和代碼工作,但仍然當我點擊.../delete.php?id =?鏈接它沒有任何回報,並goiing空白 –

-1

首先我建議你使用$ _ POST方法,你可以閱讀更多關於它GET vs. POST。我相信其他的東西需要爲bindParam()聲明我忘記了(我也是PHP新手)。我不知道如何使用bindParam()函數。

+0

mysqli沒有'bind_value()'方法。 – Chris