2017-03-10 9 views
0

は、私はいくつかの条件でテーブルをチェックして、1つの結果を返すために、クエリが必要な場合:MySQLのELSE条件

SELECT 

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

FROM `table` 

それが呼び出したとき、私は、PHPの関数の中で、このようなクエリを作成する方法については考えている、trueを引き起こしますまたはfalse

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コードを忘れます。

もっと高いレベルを考えてください。

最初にする必要があるのは、変数に関連付けるための適切なデータを取得することです。

DB内のクエリをテストするために、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 

ここで0

0

としてMySQLでの1とFALSEはまた、あなたが作成することもでき の提案であるとTRUEが表示されているので、これは動作しますクエリのように

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;