Bonjour,
Ma base de données MySql est alimentée par diverses sources dont je n'ai pas forcement le contrôle. Résultat des courses, pour certaines informations qui s'y trouvent, j'ai des caractères invisibles (ou spéciaux - j'ai du mal à les identifier) qui viennent fausser mes résultats de requête.
Je vous explique : je fais un SELECT sur une liste d'emails (via un IN).
ex : SELECT * FROM inscrit WHERE email IN ('email1@test.fr','email2@test.fr','email3@test.fr','email4@test.fr')
Ma requête va par exemple me sortir les résultat pour email1, email2 et email3, mais rien pour email4@test.fr
Pour vérifier je fais un SELECT sur email='email4@test.fr' et en effet je n'ai rien. Par contre si je fais email LIKE '%email4@test.fr%', là j'ai des résultats.
Dans mon PHPMyAdmin, la valeur apparaît bien sous email4@test.fr. J'ai donc l'impression qu'il y a des caractères spéciaux invisibles qui l'entourent.
Le problème est que je suis obligé de passer par un IN car je dois pouvoir traiter un grand nombre d'emails.
J'aimerais donc savoir de quelle alternative je dispose (l'idéal serait un mix entre IN et LIKE). Auriez-vous une solution à me proposer.
Pour info ma donnée email est un varchar(255)
Merci d'avance
Partager