這是我delete.php頁:無法獲得排刪除PHP
<?php
//including the database connection file
include("config.php");
//getting id of the data from url
$id = $_GET['id'];
//deleting the row from table
$result = mysqli_query($mysqli, "DELETE FROM users WHERE id=$id");
//redirecting to the display page (index.php in our case)
header("Location:index.php");
?>
和被調用命中index.php頁面有:
<?php
//including the database connection file
include("config.php");
$result = mysqli_query($mysqli, "SELECT * FROM users ORDER BY id ASC");
// using mysqli_query instead
while($res = mysqli_fetch_array($result))
{
?>
<table>
<tr>
<td class="long"><?php echo $res['nameFirst'];?></td>
<td class="long"><?php echo $res['nameLast'];?></td>
<td class="long"><?php echo $res['email'];?></td>
<td><a href="edit.php?id=$res[id]">Edit</a></td>
<td><a href="delete.php?id=$res[id]" onClick="return confirm('Are you sure you want to delete?')">Delete</a></td>
</tr>
<?php } ?>
</table>
但是當我點擊刪除鏈接,頁面要求確認,然後刷新本身,因爲它重新加載index.php(本身),但表中的行不會刪除。
我相信這是一個簡單的修復,但看不到問題。我假設錯誤在$ result行中的某處?
預先感謝您。
'$水庫[ID]'必須保持PHP標籤內 – Saty
** WARNING **:當使用'mysqli'你應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param'](http://php.net/manual/en/mysqli- stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用字符串插值或連接來完成此操作,因爲您創建了嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**將'$ _POST','$ _GET'或**任何**用戶數據直接放入查詢中,如果有人試圖利用您的錯誤,這可能會非常有害。 – tadman
需要注意的是,通過GET風格的鏈接來刪除東西通常是一個超好的主意。某些瀏覽器和網頁抓取工具可以觸發這些鏈接,最終可能會系統地刪除數據庫中的所有內容。出於這個原因,大多數人至少堅持把它們放在POST後面。 – tadman