2017-03-10 85 views
0

我需要一個查詢有幾個條件,檢查表,並返回一個結果:MySQL的IF ELSE條件

SELECT 

    IF(id='123' AND user='alex') FOUND -> return false ELSE -> return true 
    IF(user='alex') NOT FOUND -> return false 

FROM `table` 

我對如何在PHP函數建立這樣的查詢不知道,當它調用,導致truefalse將返回

function check(id, user) 
{ 
    $q = $mysqli->query("...sql query..."); 

    if($q->num_rows > 0){ 
     return true; 
    } 
    return false; 
} 
+0

請先閱讀本文http://www.mys qltutorial.org/mysql-case-statement/ –

回答

0

忘記在這個階段PHP代碼。

認爲更高層次。

你需要做的第一件事就是抓住正確的數據關聯到一個變量。

使用HeidiSQL(有用,可靠的工具,開源並且完全免費使用)用於測試數據庫中的查詢。

CASE WHEN (table.id='123' AND table.user='alex') 
     THEN 1 
     ELSE 0 
END AS alexexists 

或簡單:

(table.id='123' AND table.user='alex') AS alexexists 

這工作,因爲TRUE,則在MySQL中顯示爲1和FALSE爲0

0

這裏也建議 你還可以創建一個查詢如

Select (case when table.id='123' and table.user='alex' then false 
      when table.id!='alex' then false 
      else true End) as alexexists 
from table;