# PHP > PHP & Base de donnes > [MySQL] Requte avec LIKE '%$variable%'

## razorlok

Bonjour,

Je fais face  un problme de requte. Le but tant de rcuprer l'ID d'un auteur  partir de son nom (nom_auteur) et prnom (prenom_auteur), rcuprs  partir d'une liste droulante :



```

```

*echo $nom_auteur;* m'affiche correctement le nom et prnom.
*nom_auteur LIKE '%Dupont%'* m'affiche aussi l'ID de l'auteur voulu, mais lorsque je tente d'utiliser ma variable $nom_auteur dans le LIKE, rien ne fonctionne plus !

----------


## stealth35

active le _trace_mode_, 


```
ini_set('mysql.trace_mode', true);
```

----------


## razorlok

j'ai rajout "ini_set('mysql.trace_mode', true);" avant ma requte, mais aucune erreur ne s'affiche, le echo n'affiche toujours rien.

----------


## Doksuri

Salut,
t'as essaye d'afficher ta requete SQL generee puis de la copier/coller dans phpmyadmin ?

ps : le nom et le prenom doivent etre les memes ?!?

----------


## razorlok

Quand je teste la requte dans phpmyadmin avec des valeurs textuelles (pas de variable $nom_auteur), elle fonctionne correctement.

Le problme est qu'il peut y avoir plusieurs auteurs portant le mme nom de famille, donc ma liste droulante intgre galement le prnom.
Quand je rcupre la valeur slectionne, elle est du type "nom prnom" et je ne peux donc que passer par un LIKE pour tester le nom et le prnom, il me semble.

----------


## razorlok

Quoi qu'en y rflchissant bien, n'y a-t-il pas un moyen de passer l'ID de l'auteur en champ cach dans ma liste droulante et de rcuprer sa valeur lors du POST ?

----------


## Doksuri

> Quoi qu'en y rflchissant bien, n'y a-t-il pas un moyen de passer l'ID de l'auteur en champ cach dans ma liste droulante et de rcuprer sa valeur lors du POST ?


si, mais ca depend du contexte...
mais tu n'as visiblement pas suivis mon conseil : afficher la requete SQL generee et non pas "en mettant des valeures a la main"
fais un 

```

```

et copie/colle la requete affiche a l'ecran

----------


## razorlok

quand je fais un echo sur la requte, a me donne :




> SELECT id_auteur FROM auteurs WHERE nom_auteur LIKE '%Dupont Jean%' AND prenom_auteur LIKE '%Dupont Jean%'


La variable $nom_auteur est bien rcupre, mais le rsultat du LIKE apparemment pas.

----------


## Doksuri

phpmyadmin t'affiche une erreur ? ou la requete ne retourne juste rien ?

----------


## razorlok

Je viens de tester la requte sous phpmyadmin avec les variables $nom_auteur mais elle ne m'affiche aucune erreur, seulement pas de rsultats (puisque j'utilise des variables).

Je pense qu'il manque une subtilit dans le LIKE pour rcuprer le nom_auteur et le prenom_auteur  partir du rsultat du POST sur ma liste droulante .

Elle est gnre ainsi :


```
echo "<option>".$nom_auteur."&nbsp;".$prenom_auteur."</option>\n";
```

Ma variable rcupre donc le NOM (espace) PRENOM (mais lors du POST, je ne vois pas comment les sparer).

----------


## Doksuri

avec explode()
tu devrais pouvoir faire un truc genre :


```

```

ps : code ecris a la volee... (pas teste)

----------


## razorlok

Ouf, merci pour la fonction explode() ! Je l'avais compltement oublie depuis le temps...
J'ai russi  sparer le nom et le prnom et l'ID est bien renvoye par la requte.
En fait, l'explode ne fonctionnait pas au dbut  cause du &nbsp; entre nom et prnom dans la liste droulante...  ::lol:: 

Merci pour le coup de main !

----------

