Amélioration d'une petite requête SQL

WRInaute passionné
Bonjour,

Voilà, je voudrais améliorer cette méprisable petite requête SQL et m'adresse aux princes de programmation que vous êtes.

En deux, le problème.

J'ai ces deux valeurs dans des champs de la BDD :
"art"
"art (représentation)"

Je souhaite faire une requête qui trouve la première expression dans la deuxième.

J'ai donc fait ça, tout simplement :
Code:
SELECT 
id
FROM tags
WHERE 
nom
like '$title%'";

Donc là, la requête est censée me retourner le résultat "art (représentation)", à partir d'une recherche effectuée sur le mot "art".
Mais ça ne fonctionne pas. :oops:

Comment améliorer la chose, s'il vous plait ?
 
WRInaute passionné
Oui j'ai fait la modification mais ça ne fonctionne pas mieux. Ca change quoi sinon comme ça, normalement ?

En tout cas, ça fonctionne toujours pas.
 
WRInaute accro
Mmmmmhhhh....

La variable va-t-elle êtrre interprétée ?

Vous mettez dans une variable $sql :

$sql = "SELECT id FROM tags WHERE nom like '" . $title . "%'";

A ce moment-là, vous êtes sûr que la variable $title va être interprétée...

Normalement, si la chaîne de caractères commune est au début, ça roule. ;)

Amicalement.

Jean-François Ortolo
 
WRInaute discret
Le % sert de joker. Si tu le met qu'à la fin comme le dit Jean Francois il faut que la chaîne de caractères commune soit au début. Si tu met % avant et après la chaine peut être n'importe où.
Avec la concaténation de Jean Francois ca fonctionne non ?
 
Nouveau WRInaute
Juste une piste: teste si ta requête est sensible à la casse.
De mémoire, je ne sais plus si LIKE y est sensible. Si ta recherche comporte des caractères accentués, tu peux aussi avoir des soucis selon l'interclassement de ta bdd.
 
WRInaute passionné
Hum, ça ne fonctionne pas non plus avec la requête d'ortolojf.

En fait je me suis trompé d'ordre dans mon explication : C'est la variable ayant la valeur "art (représentation)" que je veux trouver dans la table contenant "art".

Et non l'inverse, désolé.
 
WRInaute accro
Si tu fais un echo de l'ordre SQL généré, il ressemble à quoi ? (Après concaténation des variables et donc avant de l'exécuter) ?
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut