MySQL - Double condition sur un WHERE

PHPFANParis -  
Mihawk Messages postés 4753 Statut Contributeur -
Bonjour,

J'aimerai savoir s'il y a moyen d'optimiser ce code

$reponse = $bdd->query("SELECT * FROM users WHERE activate='1' OR activate='2'");

par quelque chose dans ce style

$reponse = $bdd->query("SELECT * FROM users WHERE activate='1-2'");

4 réponses

  1. PHPFANParis
     
    ou plutot $reponse = $bdd->query("SELECT * FROM users WHERE activate>'0'");
    0
    1. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Et s'il y a aussi les valeurs 3, 4 etc...?
      0
  2. Melooo Messages postés 1476 Statut Membre 84
     
    Salut,
    Tu peux essayer :
    $bdd->query("SELECT * FROM users WHERE activate <= 2");
    

    Normalement tu n'a pas besoin de guillemet lorsque c'est un chiffre.
    0
    1. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Et s'il y a aussi les valeurs 0, -1 etc...?
      0
  3. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Hello,

    $reponse = $bdd->query("SELECT * FROM users WHERE activate IN (1, 2);"); 
    
    0
    1. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
       
      Bonjour,

      Oui c'est la meilleure solution.
      0
    2. Mihawk Messages postés 4753 Statut Contributeur 846
       
      :)
      0
  4. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    essaie avec un EXPLAIN SELECT, tu verras comment est traitée la requête...
    0