Page 1 sur 1

Problème de recherche dans mysql

Posté : 14 avr. 2008, 17:56
par Montreal71
Bonjour,

j'ai un problème de recherche avec apostrophe sous mysql 5. Si je recherche par exemple la valeur "L'AUTRE" du champ nom de la table livres avec la requête suivante, je n'ai pas de résultat :

select.... WHERE nom LIKE 'L\'AUTRE%'

Je mets donc un addslashes sur le nom recherché pour que la requête ne plante pas.

Ce problème ne se pose pas quand le nom ne contient pas d'apostrophe

D'où vient donc ce problème ??!

Merci !!

Re: Problème de recherche dans mysql

Posté : 14 avr. 2008, 20:09
par hakazizi
supprime les appostrophe dans ta table et dans ta recherche remplace le par un espace par ex.

Posté : 14 avr. 2008, 23:54
par Invité
mais enfin, je ne peux pas supprimer les apostrophes dans la table ! Les données ne seront plus valables !!

Quelqu'un a une meilleure idée ??

Posté : 15 avr. 2008, 10:20
par Berzemus
eum, c'est quoi le problême ? Avec addslashes ça marche, tu veux dire ?

C'est assez simple, il suffit d'échaper (avec addslashes) toutes tes valeurs de recherche, pour que la requête soit valide.

Pour le pourquoi, regarde ces deux chaines:
//valide:
$var = 'ceci est le texte de l\'autre';
// invalide:
$var = 'ceci est le texte de l'autre';
c'est du php, mais le principe est le même. Tu vois la différence ?