Amélioration d'une petite requête SQL
8 messages
• Page 1 sur 1
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Amélioration d'une petite requête SQL
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 :
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.
Comment améliorer la chose, s'il vous plait ?
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: Tout sélectionner
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.
Comment améliorer la chose, s'il vous plait ?
- Babylon
- WRInaute discret

- Messages: 191
- Inscription: 18 Oct 2006
Re: Amélioration d'une petite requête SQL
-

ortolojf - WRInaute passionné

- Messages: 1664
- Inscription: 14 Aoû 2002
Re: Amélioration d'une petite requête SQL
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
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
- Babylon
- WRInaute discret

- Messages: 191
- Inscription: 18 Oct 2006
Re: Amélioration d'une petite requête SQL
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 ?
Avec la concaténation de Jean Francois ca fonctionne non ?
- leica69
- Nouveau WRInaute

- Messages: 30
- Inscription: 25 Oct 2004
Re: Amélioration d'une petite requête SQL
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.
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.
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Re: Amélioration d'une petite requête SQL
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é.
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é.
-

UsagiYojimbo - WRInaute accro

- Messages: 8566
- Inscription: 23 Nov 2005
Re: Amélioration d'une petite requête SQL
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) ?
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google API : guide de développement de l'API Google - 20-09-2002
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- Google Deskbar : la recherche sur votre bureau - 07-11-2003
- Informations sur l'infrastructure technique de Google - 01-11-2004
- Google indexe le Flash - 28-04-2004
- Une icone pour afficher des plans dans les résultats de Google (Plus Box) - 13-12-2006
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
