2016-06-07 109 views
0

我有一个包含用户权限的表。我想删除所有记录user_id = $user_id 我试过下面的代码,但它似乎只删除了每条查询1条记录。 我有这样的桌子:如何删除包含特定值的所有行

`user_id` `cat1` `cat2` `cat3` 
100  1000 2000 3000 
100  1000 2000 3001 
200  2500 2501 3000 
100  3000 3500 3333 

等等。 我的查询似乎没有正常工作和删除哪些等于$user_id所有记录.suppose $user_id=100;

<?php 
    $query="DELETE FROM tbl WHERE user_id=".$user_id; 
    mysql_query($query); 
?> 
+0

你确定'$ user_id'等于100? –

+0

如果$ user_id是100,将删除user_id为100的所有行,如果它不是,那么任何一个都不是100 ... –

+0

您是否尝试过从命令行运行命令来检查?查询似乎是正确的 – morcen

回答

-1

查询"DELETE FROM tbl WHERE user_id='".$user_id."'"将删除其中USER_ID与您作为参数传递的值相匹配的所有行。

如果没有任何匹配,查询将无能为力,就是这样。

问候, 博扬

+0

为什么downvote? :( – zauzaj

+0

'user_id'几乎可以肯定是一个整数类型的列,所以引用它作为一个字符串是不必要的.OP指出原来的查询有效,它只是删除了太少的行,这个回答没有解决这个问题 –

+2

是的,但他没有指定它是一个整数 那么,如果user_id实际上是字符串? – zauzaj