首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql的多个and条件

问mysql的多个and条件
EN

Stack Overflow用户
提问于 2012-03-15 01:59:53
回答 4查看 4.1K关注 0票数 1

我需要知道如何基于多个and条件query一个mysql database ...我正在尝试寻找所有18岁以上的在线男性用户。

php代码:

代码语言:javascript
复制
$sql = mysql_query("Select * FROM `users` where `round`= '".$userData["round"]."',
    `sex` = 'm', `age` = '18', `online_stas` = 'online'
    ")or die(mysql_error());
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-15 02:43:10

阅读响应和你仍然有错误的事实,我开始思考在sex字段中使用"M“而不是"m”的可能性。

您可以尝试:

代码语言:javascript
复制
$sql = mysql_query("SELECT * FROM `users`
                   WHERE UPPER(`sex`) = 'M'
                   AND `age` > 18
                   AND `online_stas` = 'online'")
       or die(mysql_error());

我删除了基于您的声明的轮检查,您希望所有在线的男性用户年龄超过18岁,但可以再次添加。其他可能的失败可能是将age与字符串值18而不是数字值18进行比较,因此我也进行了更改(尽管它可以工作并自动转换,但如果将来发生变化,最好使用相同的类型进行检查)。

试一试,看看它是否有效。

票数 2
EN

Stack Overflow用户

发布于 2012-03-15 02:02:19

尝试使用AND。

代码语言:javascript
复制
$sql = mysql_query("Select * FROM `users` where `round`= '".$userData["round"]."' AND
    `sex` = 'm' AND `age` >= '18' AND `online_stas` = 'online'
    ")or die(mysql_error());

此外,我更改了您的age检查使用>=而不是=,因为您的描述表明您希望所有18岁以上的用户,而不是等于。我还假设你想包括那些18岁以上的人,如果不是的话,把它改成>。

票数 1
EN

Stack Overflow用户

发布于 2012-03-15 02:02:56

您将希望使用WHERE和AND,并以以下条件结束:

代码语言:javascript
复制
"... WHERE `round`= '".$userData["round"]."' AND `sex` = 'm' AND `age` > 18 AND `online_stas` = 'online'"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9707463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档