不从mysql中删除指定的内容

时间:2013-08-04 12:01:05

标签: php mysql delete-row corresponding-records

我最近制作了一个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";
   }
?> 

2 个答案:

答案 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']);

这也更安全!