2010-10-05 18 views
3

j'avais vu un collègue l'utiliser pour chercher les utilisateurs d'une table dans ces conditions:MySQL: requêtes AND multiples avec l'utilisation de BETWEEN?

SELECT * FROM users WHERE gender ='male' 
AND activated='yes' 
AND date_registered BETWEEN '$date1' AND '$date2' 

Il a dit qu'il y avait un problème (il ne produire aucune ligne lorsque le AND activated='yes' a été mis là aussi, mais pas MySQL erreur a été levée.

Pouvez-vous pas cela? est-ce que vous avez besoin de le mettre entre parenthèses ou quelque chose de fou pour associer les BETWEEN et AND?

les dates sont au format correct par la manière.

+2

Ma première hypothèse est que aucune ligne ne correspond à la requête dans ce cas ... Merci – JoshD

Répondre

7

Non, cela fonctionnera très bien. Cependant, vous pouvez formater votre requête il est donc clair que AND est autonome, et qui appartient à une déclaration BETWEEN .. AND ...:

SELECT * FROM users 
WHERE gender ='male' 
    AND activated='yes' 
    AND date_registered BETWEEN '$date1' AND '$date2' 
+0

Je vais lui mentionner que pour d'autres tâches, je vais accepter votre réponse après mon retour du travail, je dois y aller! – John

4

Aucun crochets requis. Vous avez la syntaxe correcte.

+0

vous, cela le rend plus facile à expliquer. – John