2016-09-15 91 views
2

最後,我放棄了,因爲我已經嘗試了許多例子,但沒有爲我工作... 基本上我想查詢下面的數據庫。如何比較查詢中的MySQL int值而不提取它

$main_query=$con->query("SELECT USERID FROM SUPERDATATABLE WHERE USERID=$_SESSION[USERID] AND scores>50")or die('Oops, Failed 2 work!'); 

    if(mysqli_num_rows($main_query)>0){ 
    echo 'it worked'; 
    }else{ 
      echo 'sorry, i cant'; 
     } 

現在,我明確設置的分數大於100,所以我知道它應該是呼應它的工作,而不是對不起的,我不能。 我開始會話,當我回聲會話($ _SESSION ['USERID']),我看到它已設置,也不是空的,但這個聲明可能不被MySQL支持。

有人請幫我當然

+1

'$ looper'被設置在哪裏? –

+2

看起來'$ looper'應該是'$ main_query',反之亦然。 – Barmar

+2

如果你只是想知道數據是否存在,並且你不需要獲取結果,我建議使用'SELECT COUNT(*)'而不是'SELECT USERID'。這種方式只返回一行,而不是浪費時間發回大量的結果,只有這樣才能獲得計數。 – Barmar

回答

0

是的,你可以查詢這樣的數據庫,但你不能用這樣的雙引號內的數組。它應該是"${_SESSION['USERID']}"

+1

大括號位於美元符號的另一邊。 – aynber

+0

除了SQL注入角度之外,他們的做法沒有任何問題。在沒有方括號的雙引號字符串中使用數組鍵時,應該不加引號,在很多情況下(包括這個),複雜的語法不是必需的。 –

+0

沒錯。!謝謝 – Zuckerberg