2013-11-03 63 views
0

我試圖通過單擊基於PHP的網頁中的鏈接刪除數據庫中的一行。我所有的數據庫連接和表選項都能正常工作,但在將主鍵發送到我正在執行刪除操作的頁面時,似乎發現我無法發送正確的信息,因爲它沒有刪除任何內容。難道我做錯了什麼?使用PHP和MySQL刪除數據庫中的一行

我發送的信息是這樣的:

echo "<td><a href= 'delete.php?pid='{$_POST['id']}''> Delete </a></td>"; 

和刪除這樣的:

$del="DELETE FROM sca WHERE pid = '{$_POST['id']}'"; 

感謝

+6

喲DIS代碼是不是安全 – Kermit

+1

請切換到[預處理語句(http://bobby-tables.com/php。 html)來防止SQL注入。 –

回答

0

如果刪除查詢是delete.php要訪問WHERE pid ='{$ _GET ['pid']}',因爲點擊鏈接時您將丟失發佈的數據。

+0

這仍然是不安全的。 –

+0

我從來沒有說過它是安全的,我只是說明了查詢有問題。 – Niketa

0

你確定「$ _POST ['id']」返回什麼嗎?

echo '<td><a href="delete.php?pid=' . $_POST['id'] . '">Delete</a></td>'; 

你必須使用$ _GET變量有:

$id = (int) $_GET['id']; 
$del = "DELETE FROM `sca` WHERE `pid` = $id"; 
+0

你怎麼知道'$ id'可以轉換爲整數? –