Mysql where

Résolu
Harricote Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   -  
F2000 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   8
 
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