Mysql查询有问题

时间:2014-09-23 19:39:25

标签: php mysql

我有一个Db查询应返回值:

$gbe=mysql_query("SELECT userid FROM `gift_stage` WHERE amount='500' AND (`assign` > '1' AND `assign` < '18') AND userid !='".$class_session->isuser()."' ORDER BY id ASC LIMIT 1");

但它没有显示任何值,但当我替换AND (分配> '1' AND分配< '18')AND (分配> '1')时,它会给出预期的结果。但是我没有得到问题的位置,因为数据库中assign alread的值为'13'

请帮帮我们

所有字段都是varchar

2 个答案:

答案 0 :(得分:3)

删除括号并比较数字而不是文本字符串

SELECT userid 
FROM `gift_stage` 
WHERE amount='500' 
AND `assign` > 1 
AND `assign` < 18 
AND userid !='".$class_session->isuser()."' 
ORDER BY id ASC LIMIT 1

don't use mysql_* functions in new code不再维护它们,而是officially deprecated 。请参阅red box?请改为了解prepared statements,并使用PDOMySQLiThis article将帮助您确定哪个。

答案 1 :(得分:2)

不要在你的数字上加上引号,否则它们将被视为varchars。