我最近制作了一个PHP,应该;如果单击一个链接删除我的一个MYSQL表中的某一行。
下面的脚本包含所有内容,但链接[href=delete_ac.php?id etc...]
会指向该页面,但当页面激活时,它会回显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";
}
?>
答案 0 :(得分:0)
ID仅是数字吗?在$ id附近添加引号会不会有帮助吗?
$query = "DELETE FROM `users` WHERE `id`='$id'";
mysql_query($query);
不确定......但是试一试!
答案 1 :(得分:0)
在$ query =“DELETE ..
之后放上一行一个
echo "DELETE FROM `users` WHERE `id` = $id";
die;
然后你会看到出了什么问题。 我个人会删除',假设id =整数,你将有:
$query = "DELETE FROM users WHERE id=$id";
如果没有,请直接在数据库窗口中尝试echood查询,您将看到错误。
很可能你应该将你的行改为
$id=intval($_GET['id']);
这也更安全!