我需要知道如何基于多个and条件query一个mysql database ...我正在尝试寻找所有18岁以上的在线男性用户。
php代码:
$sql = mysql_query("Select * FROM `users` where `round`= '".$userData["round"]."',
`sex` = 'm', `age` = '18', `online_stas` = 'online'
")or die(mysql_error());发布于 2012-03-15 02:43:10
阅读响应和你仍然有错误的事实,我开始思考在sex字段中使用"M“而不是"m”的可能性。
您可以尝试:
$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进行比较,因此我也进行了更改(尽管它可以工作并自动转换,但如果将来发生变化,最好使用相同的类型进行检查)。
试一试,看看它是否有效。
发布于 2012-03-15 02:02:19
尝试使用AND。
$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岁以上的人,如果不是的话,把它改成>。
发布于 2012-03-15 02:02:56
您将希望使用WHERE和AND,并以以下条件结束:
"... WHERE `round`= '".$userData["round"]."' AND `sex` = 'm' AND `age` > 18 AND `online_stas` = 'online'"https://stackoverflow.com/questions/9707463
复制相似问题