Problème avec Mysql et LIKE "0%"

laulemdev Messages postés 11 Statut Membre -  
Freedomsoul Messages postés 538 Statut Membre -
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

  1. Freedomsoul Messages postés 538 Statut Membre 97
     
    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
  2. laulemdev Messages postés 11 Statut Membre
     
    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
  3. Freedomsoul Messages postés 538 Statut Membre 97
     
    Et le champs Ref de ta base de donnée, en quel format est-il ?
    0
  4. laulemdev Messages postés 11 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Freedomsoul Messages postés 538 Statut Membre 97
     
    ç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