resultats inattendus requete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : resultats inattendus requete

par Cyrano » 20 juin 2007, 13:40

Il manquerait une paire de parenthèses :

Code : Tout sélectionner

SELECT * FROM produits WHERE ( titreSousTitre LIKE '%hozier%' OR themes LIKE '%hozier%' OR auteur LIKE '%hozier%' OR motsClef LIKE '%hozier%' ) AND trash = 0

resultats inattendus requete

par Invité » 20 juin 2007, 13:36

Bonjour à tous,

J'ai créé une requete pour rechercher un mot dans certains champs d'une table produits.
Par exemple rechercher le mot 'hozier' donne:
SELECT * FROM produits WHERE titreSousTitre LIKE '%hozier%' OR themes LIKE '%hozier%' OR auteur LIKE '%hozier%' OR motsClef LIKE '%hozier%'
ça fonctionne bien.

Pour chaque enregistrement, j'ai rajouté un champ 'trash' pour la corbeille, type tinyint(1) qui vaut 0 par défaut. Quand on met un produit dans la corbeille, son champ 'trash' passe de 0 à 1.

Mon problème:
J'essaye maintenant d'afficher les produits qui contiennent le mot 'hozier' et qui ne sont pas dans la corbeille (trash=0). ça me donne:
SELECT * FROM produits WHERE trash = 0 AND titreSousTitre LIKE '%hozier%' OR themes LIKE '%hozier%' OR auteur LIKE '%hozier%' OR motsClef LIKE '%hozier%'
pas d'erreur, mais j'ai des trash=1 dans mon résultat, alors que je ne le demande pas.

Pareil quand j'essaye :
SELECT * FROM produits WHERE  titreSousTitre LIKE '%hozier%' OR themes LIKE '%hozier%' OR auteur LIKE '%hozier%' OR motsClef LIKE '%hozier%'  AND trash = 0
pas d'erreur, mais j'ai des trash=1 dans mon résultat, alors que je ne le demande pas.

Qu'ai-je mal fait dans ma requete?