我最近做了一個PHP,應該;如果點擊一個鏈接,刪除我的一個MYSQL表中的某一行。不刪除指定的內容從mysql
下面的腳本除了鏈接[href=delete_ac.php?id etc...]
導致頁面,但當頁面激活它時echo ERROR
而不是刪除行。
<h1>Members</h1>
<table>
<tr>
<th>ID</th>
<th>Username</th>
<th>E-Mail Address</th>
<th></th>
</tr>
<?php foreach($rows as $row): ?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['email'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><a href="delete_ac.php?id=<?php echo $row['id']; ?>">delete</a></td>
</tr>
<?php endforeach; ?>
</table>
delete_ac.php
下面的腳本是什麼應該刪除它,但它不是
<?php
require("../php/bp-connectionAdmin.php");
$id=$_GET['id'];
$query = "DELETE FROM `users` WHERE `id` = $id";
$result = mysql_query($query);
if ($result) {
echo "Successful";
} else {
echo "ERROR";
}
?>
在mysql_query後面回顯'mysql_error()'並查看錯誤是什麼。您也應該在將輸入變量添加到查詢之前對其進行清理。 –
您可以使用'mysql_error()'從數據庫中獲取* actual *錯誤,這應該提供有關問題的信息。另外,*請*停止使用'mysql_ *'數據訪問庫。 *至少*升級到'mysqli_ *'或PDO。使用這些庫創建預準備語句,而不是打開當前代碼中的SQL注入漏洞。 – David
也是爲什麼你應該停止使用mysql_ *函數的原因是,他們depracted,將在'../ PHP/BP-connectionAdmin.php',你做一個連接未來 – DeiForm