Problème avec Mysql et LIKE "0%"

Fermé
laulemdev Messages postés 11 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 27 septembre 2012 - 27 sept. 2012 à 10:25
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 - 27 sept. 2012 à 12:28
Bonjour à toutes et tous,


Quand je fais une requête en utilisant LIKE '".$_POST['ref']."%' tout se passe bien quand $_POST['ref'] est de type string ou contenant 00 ou 01 etc...
Mais si je n'envoie que 0 (zéro), mysql me renvoie tout le contenu de la table sans distinction de lettre ou de numéro.
Or, je voudrais simplement les résultats commençant par 0 (zéro).
J'ai bien tenté de transformer le 0(int) en 0(string) mais cela semble être sans effet.
Quelqu'un a une idée ?
Merci d'avance :)

Laurent

5 réponses

Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 27/09/2012 à 10:29
Si j'ai bien compris tu as ce problème lorsque tu fais:
LIKE '0%'
??

Sinon autre chose, je te conseille de vérifier si ta chaine contient exclusivement des chiffres, car l'injection sql est possible ici.
0
laulemdev Messages postés 11 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 27 septembre 2012
27 sept. 2012 à 10:38
Oui, tout à fait :)
Concernant l'injection sql, je m'en occuperai en temps voulu. d'autant que cette requête est pour l'espace d'admin (qui lui est protégé). Mais merci de me rappeler cette possibilité :)
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
27 sept. 2012 à 11:19
Et le champs Ref de ta base de donnée, en quel format est-il ?
0
laulemdev Messages postés 11 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 27 septembre 2012
27 sept. 2012 à 11:34
Houlala !! Je suis vraiment désolé : je me rends compte que j'ai oublié de fournir des infos ^^
Mon champ REF est en varchar car il contient des données comme AR0123M ou 06235 ou ch06 etc...
D'où mon soucis. Et la requête se fait avec un $_POST provenant d'un formulaire pour aider à trier les REF enregistrées.
Ce qui m'étonne c'est que le 00 me renvoie bien les résultats commençant uniquement par 00 avec LIKE '00%''.
Mais il veut rien savoir avec LIKE '0%'. Grrrrrrr !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 27/09/2012 à 12:29
ça me parait bizarre, il n'y a pas de raison que ça fasse ça.. je pense,...

quand tu testes '%0%' tu as des résultats ?

Sinon, pour dans tes champs Ref, il n'y aurait pas un espace ou autre juste avant les 0 ? pour ceux qui commence normalement par 0 (on ne sait jamais)
0