[MySQL/PHP] Ordre de priorité AND OR

Résolu
Prower91 -  
 sbo -
Bonjour,

J'aimerais intérroger MySql en voulant sélectionner 3 choses :
> Le nom de l'expéditeur (who) OU le nom du destinataire (destinataire) vaut 1 par exemple.
> ET Le n° du sujet dans l'historique (history vaut dans tout LES CAS 2.

Le problème, c'est qu'avec

$sql_historique = "SELECT * FROM `pm` WHERE `destinataire`= '1' OR `who`= '1' AND 'historique' = '2' ORDER BY id ASC LIMIT 1";

Ca ne sélectionne rien du tout de ce que je veux !
Je pense m'être trompé sur la priorité, mais alors comment ?

Merci !

1 réponse

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    $sql_historique = "SELECT * FROM `pm` WHERE `destinataire`= '1' OR `who`= '1' AND 'historique' = '2' ORDER BY id ASC LIMIT 1";

    AND a une priorité supérieure à OR. Utilise des paranthéses.
    $sql_historique = "SELECT * FROM `pm` WHERE (`destinataire`= '1' OR `who`= '1') AND 'historique' = '2' ORDER BY id ASC LIMIT 1"; 
    21
    1. éma
       
      salut tout le monde , STP lami20j tu peut m'aider?
      je suis perdu . j'ai evoyé un message au forum
      (aidez moi c'est trés urgent) 
      0
    2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > éma
       
      Pourquoi moi?!

      Il y a beaucoup des gens sur ce site qui connaissent mieux que moi le C.
      Je suis certain que tu va t'en sortir et si tu me permets un petit conseils, ne panique jamais quelque soit la situation sinon tu ne trouveras pas si rapidement la solution à ton problème.

      Amicalement

      lami20j
      0
    3. Prower91
       
      Merci beaucoup lami20j; ça marche perfect :)
      0
    4. baldwim Messages postés 18 Statut Membre
       
      Nickel =D
      0
    5. lami20j
       
      6 ans après, toujours utile ^^ Thank's a lot ;)
      0