Problème avec une requête avec concaténation
luke590
-
AssassinTourist Messages postés 7838 Statut Contributeur -
AssassinTourist Messages postés 7838 Statut Contributeur -
Bonjour,
J'ai un souci, je suis en train de faire une barre de recherche, mes produits dans la bdd sont des voitures pour le moment lorsque je recherche clio ou renault tout seul il les trouvent mais si je mets la combinaison des deux cela ne fonctionne pas, du coup j'ai pensé à concaténé les deux champs marque et modèle de voiture dans la requête et comparer l'expression recherché à cette concaténation mais lorsque j'essaye il y a une du type :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\search.php on line 33
Voici ma requête, comment je pourrais procéder, merci d'avance.
select marque,modele,energie,couleur,km,prix, CONCAT( marque, ' ', modele ) AS expression
from offres
where validation="1" and
SOUNDEX(marque) LIKE SOUNDEX("%'.$recherche.'%") or
SOUNDEX(modele) LIKE SOUNDEX("%'.$recherche.'%") or
SOUNDEX(energie) LIKE SOUNDEX("%'.$recherche.'%") or
expression LIKE "%'.$recherche.'%"'
J'ai un souci, je suis en train de faire une barre de recherche, mes produits dans la bdd sont des voitures pour le moment lorsque je recherche clio ou renault tout seul il les trouvent mais si je mets la combinaison des deux cela ne fonctionne pas, du coup j'ai pensé à concaténé les deux champs marque et modèle de voiture dans la requête et comparer l'expression recherché à cette concaténation mais lorsque j'essaye il y a une du type :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\search.php on line 33
Voici ma requête, comment je pourrais procéder, merci d'avance.
select marque,modele,energie,couleur,km,prix, CONCAT( marque, ' ', modele ) AS expression
from offres
where validation="1" and
SOUNDEX(marque) LIKE SOUNDEX("%'.$recherche.'%") or
SOUNDEX(modele) LIKE SOUNDEX("%'.$recherche.'%") or
SOUNDEX(energie) LIKE SOUNDEX("%'.$recherche.'%") or
expression LIKE "%'.$recherche.'%"'
A voir également:
- Problème avec une requête avec concaténation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Excel concatener une plage de cellules ✓ - Forum Excel
- Roxane cherche des informations pour écrire un rapport sur la diversité. avec un moteur de recherche généraliste, elle souhaite limiter les résultats de sa recherche aux pages de l’organisation internationale de la francophonie. quelle requête doit-elle taper dans le champ de recherche ? - Forum Réseaux sociaux
9 réponses
Bonjour
Donne nous l'instruction php complète car ton problème vient d'un mélange de ' et de ". Il nous faut la ligne complète pour pouvoir corriger.
Mais il y a gros à parier que tu as entouré ta requête de simple quotes ' et que donc ton CONCAT( marque, ' ', modele ) doive être remplacé par CONCAT( marque, " ", modele )
Donne nous l'instruction php complète car ton problème vient d'un mélange de ' et de ". Il nous faut la ligne complète pour pouvoir corriger.
Mais il y a gros à parier que tu as entouré ta requête de simple quotes ' et que donc ton CONCAT( marque, ' ', modele ) doive être remplacé par CONCAT( marque, " ", modele )
Effectivement (j'étais mal réveillé ce matin ^^), mais il persiste un problème maintenant j'ai l'erreur :
Unknown column 'expression' in 'where clause'
Unknown column 'expression' in 'where clause'
Et le message Unknown column 'expression' in 'where clause' ne veut rien dire pour toi ? Tu n'envisages pas de faire l'effort de le comprendre tout seul ?
bah si je le comprends, il ne connaît pas 'expression' dans le where mais du coup, comment faire ? j'ai mal déclaré un truc ? ou oublié quelque chose ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai renommé le concat() en expression et je voulais le comparer dans le where avec le mot tapé dans le champ recherche, mais c'est peut-être pas possible de le faire comme ça ?