Se connecter avec
S'enregistrer | Connectez-vous

pb Requete SQL avec un WHERE = *

Dernière réponse : dans Programmation

Bonjour
Voilà, j'ai besoin de faire une requête dans laquelle je fais passer une variable. Tout se passe très bien, je peux faire mes tris correctement. Seulement, lorsque dans certains cas je dois tout afficher, ma valeur vaut "*". Je l'ai initalisé ainsi en espérant que ça passe, hélas non.
Lorsque j'affiche ma requête ça me met bien :
SELECT * FROM membres WHERE pays = "*"
Quand j'y pense c'est un peu normal, aucun champs ne s'appelle *.
Comment faire alors pour tout afficher avec ce where?
Merci!!

Voici un extrait du code :
  1. $pays = '*';
  2.  
  3. ...
  4.  
  5. $reqMembres = "SELECT * FROM membres
  6. WHERE pays = \"$pays\"";

Autres pages sur : requete sql where

Lassé par la pub ? Créez un compte
Expert Programmation

tu retire le where, car si tu veux tout affiché, il n'y a donc aucune clause where (selection) definie. logique non?

montre ton code actuel.

tu peut rajouté une condition "if" et faire une chose du genre :

si $pays n'est pas vide, faire la requete avec "where", si $pays est vide, afficher tout via : select * from membres
Expert Programmation

l'étoile est valable pour les champs de la table pour tout selectionner sans nominer les champs, ce que je déconseille de faire car en les nominant, tu sais ce que tu sorts comme info, et l'accès de lecture sera plus rapide, car en selectionnant tout, tu selectionne aussi des champs inutile, ce qui ralenti la requete (non visible à l'oeil nu bien sur), et c'es toujours pareil, si tu as 5 visiteurs, te casse pas la tete, mais en fort trafic, optimise au maximum et demande aux pro/

l'étoile ne fonctionne pas sur des clauses where.

phpdebutant.org > à droite.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde