1

我需要做一个这样的查询。

MySql-> SELECT names from users_tb WHERE names LIKE "$searchTerm" AND status <> 'blocked'

因此,查询应选择名称与“搜索词”匹配的所有 ROWS,但 Skip ROWS where "status='blocked'"。现在的问题是,一旦调用了Like '%$searchTerm%',查询甚至会返回那些'blocked' 的用户。换句话说,AND 被完全忽略。

这怎么能正确完成?

非常感谢任何帮助。

4

2 回答 2

0

我想查询可以在没有警告或错误的情况下运行,因为您没有提到这一点。所以问题在逻辑上。

请试试

" SELECT names from users_tb WHERE names LIKE "$searchTerm" AND status = 'blocked' "

如果结果是名称匹配到 searchTerm AND 状态 = 被阻止,

SQL

" SELECT names from users_tb WHERE names LIKE "$searchTerm" AND status <> 'blocked '" 应该适用于 name 匹配到 searchTerm AND status NOT EQUALS TO Blocked。

如果还是不行。您介意查看您的数据库记录,看看它们是否正确。

于 2013-05-23T05:57:44.850 回答
-2

在这里,您在查询中使用“<>”,这就是您没有得到正确答案的原因。使用“=”将为您提供正确的查询结果。

于 2013-05-23T05:41:48.773 回答