php mysql从数据库中删除

时间:2011-05-16 16:19:40

标签: php

嘿大家好,我在php中的小删除功能有点问题,下面是我的代码

function delete()
    {
    $q = "DELETE FROM example WHERE **author='frank'";**

    $r = mysql_query($q) or die (mysql_error());
    if($r)
    {
        echo 'done';
    }
    else
    {
        echo 'not done';
    }
    }

现在我没有任何具有该名称Frank的作者,这意味着它没有删除任何内容 从数据库但仍然显示完成msg

我不知道为什么????任何人都可以帮助我

3 个答案:

答案 0 :(得分:5)

那是因为没有错误,删除确实执行,它只是没有做任何事情。你想要:

if(mysql_affected_rows() > 0) {
  echo "done";
}

答案 1 :(得分:1)

您的查询中没有错误。它会成功完成。如果您阅读documentation,您会看到:

“对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE。”

由于您的查询中没有错误,即使实际上没有删除任何内容,它也会返回TRUE。删除任何内容都不被视为错误。

答案 2 :(得分:0)

即使没有实际删除任何行,删除查询也将始终成功。如果要确定插入,更新或删除操作影响的行数,请使用mysql_affected_rows()