2013-11-25 75 views
0

我有一個數據庫,有4個字段做查詢。MySQL查詢不起作用。沒有給出預期的結果

  1. 充值
  2. 總量a
  3. 共計b
  4. totalc

我運行它應該返回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

看起來像'echo $ res ['0']'應該是'echo $ res [0]'。 –

+0

''.user。「 '或''。$ user。「'?爲了解決像這樣的問題,可以使用'mysql_query()或者die(mysql_error())'方案。並使用PDO或Mysqli而不是mysql。 – Narek

回答

0

您的查詢將取你的所有條件同時成立的行。

它將獲取topup = 1和totala = 10且totalb = 10和totalc = 10的行,但由於topup會不會獲取行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'");