2017-08-24 55 views
1
$query = $db->prepare('SELECT * FROM quete WHERE zone_quete = 1, id_quete NOT IN (select id_queteorij 
      FROM quetejoueur 
      WHERE id_joueur = :id) ');  
$query->bindValue(':id', $donnees["id"], PDO::PARAM_STR); 
$query->execute(); 

所以,這是我的代碼。我不知道爲什麼這不起作用。MYSQL:WHERE(2條件)不起作用

  • SELECT * FROM quete:我想它從我的數據庫 「quete

  • WHERE zone_quete = 1選擇的一切:我想要的代碼,只選擇行,其中zone_quete = 1

  • 休息:我希望代碼只選擇其中id_quete與quetejoueur中的「id_queteorij」不同的行,其中id_joueur =:id(:id是播放器的ID)

它只有當我把它們中的一個,我不能把他們兩個,這是一個問題。

感謝您的幫助!

編輯:OOPS,它不是「,」而是「和」來分隔條件。我的錯 !

+2

不',',使用'和'或'或' – Uueerdo

回答

1

你應該使用AND id_quete NOT IN

$query = $db->prepare('SELECT * 
      FROM quete 
      WHERE zone_quete = 1 AND id_quete NOT IN (
       SELECT id_queteorij 
       FROM quetejoueur 
       WHERE id_joueur = :id) ');  

$query->bindValue(':id', $donnees["id"], PDO::PARAM_STR); 
$query->execute();