Mysql where

Résolu/Fermé
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 - 17 mars 2009 à 20:07
F2000 Messages postés 27 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2012 - 17 mars 2009 à 20:12
Bonjour,

je voudrais savoir comment faire pour mettre plusieurs where dans une requete mysql.

Voici ma requete :

mysql_query("SELECT * FROM corbeille WHERE de='$nom_prenom' OR a='$nom_prenom' AND ID='$_GET[corbeille]'"



Est-ce qu'on peut mettre le OR et le AND à la suite ?

Merci

1 réponse

F2000 Messages postés 27 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2012 8
17 mars 2009 à 20:12
En cherchant la priorité des opérateurs en SQL, je suis tombé sur ça:
http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/fr/html/dbrffr9/00000020.htm

Où ils disent que le "AND" est prioritaire sur le "OR"

Donc je pense que ta requête devrait être interprétée comme telle:
mysql_query("SELECT * FROM corbeille WHERE de='$nom_prenom' OR (a='$nom_prenom' AND ID='$_GET[corbeille]'"))

au lieu de :

mysql_query("SELECT * FROM corbeille WHERE (de='$nom_prenom' OR a='$nom_prenom') AND ID='$_GET[corbeille]'")


Le plus simple restant de mettre des parenthèse, c'est aussi plus lisible pour les autres ;)

F2000
0