Posez votre question Signaler

[MySQL/PHP] Ordre de priorité AND OR

Prower91 - Dernière réponse le 17 déc. 2011 à 05:25
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 !
Lire la suite 

[MySQL/PHP] Ordre de priorité AND OR »

5 réponses
Réponse
+9
moins plus
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"; 
lami20j- 26 févr. 2006 à 14:54
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
Prower91 - 26 févr. 2006 à 22:24
Merci beaucoup lami20j; ça marche perfect :)
baldwim- 17 déc. 2011 à 05:25
Nickel =D
Ajouter un commentaire
Ce document intitulé « [MySQL/PHP] Ordre de priorité AND OR » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?