MySQL - Double condition sur un WHERE

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. ou plutot $reponse = $bdd->query("SELECT * FROM users WHERE activate>'0'");
    0
    1. Contributeur
      Et s'il y a aussi les valeurs 3, 4 etc...?
      0
  2. 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. Contributeur
      Et s'il y a aussi les valeurs 0, -1 etc...?
      0
  3. Contributeur
    Hello,

    $reponse = $bdd->query("SELECT * FROM users WHERE activate IN (1, 2);"); 
    
    0
    1. Bonjour,

      Oui c'est la meilleure solution.
      0
    2. Contributeur
      :)
      0
  4. Modérateur
    Salut,

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