我有一个数据库,其中有4个字段要进行查询。
我正在运行应该返回4行的mysql查询。但什么都没回来。以下是我的询问:
$qry=mysql_query("SELECT id FROM ".user." WHERE `topup` >'0' AND `totala`>='9' AND `totalb`>='9' AND `totalc`>='9'");
while($res=mysql_fetch_row($qry)){
echo $res['0'];
}
有什么不对?
主要问题是如果我运行任何一个查询
例如:WHERE
totala
> ='9'
然后它正在工作,但没有采取所有查询
答案 0 :(得分:0)
您的查询将获取所有条件同时为真的行。
它将使用topup = 1和totala = 10以及totalb = 10和totalc = 10来获取行,但不会获取行topup = 0和totala = 10以及totalb = 10和totalc = 10,因为充值不大于零。
如果你想在任何这种情况下获取行,你需要使用OR语句而不是AND。
$qry=mysql_query("SELECT id FROM ".user." WHERE `topup` >'0' OR `totala`>='9' OR `totalb`>='9' OR `totalc`>='9'");