IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Recherche dans MySQL sans respecter la Case [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Par défaut Recherche dans MySQL sans respecter la Case
    Bonjour,

    Je fais des sélections dans ma BD depuis des années, mais j'ai un petit problème que je ne comprends pas depuis quelques jours. J'ai une zone de texte "Recherche" et je recherche tout ce que l'utilisateur saisit dans cette zone de texte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $MyQuery="SELECT * FROM generalcontent WHERE generalcontent.val1 LIKE '%$Recherche%'";
    	$Resultat=mysql_query($MyQuery);
    	$Nombre=mysql_num_rows($Resultat);
    Mais curieusement, il y a certaines tables où ça marche et pour d'autres je me rend compte qu'il faut exactement saisir le mot tel qu'il est en respectant la case et je ne veux pas ce comportement.
    Toujours dans ce même cas, les mot avec les accents ne donnent aucun résultat alors qu'il existent bien dans la table.
    J'utilise des champs VARCHAR et BLOB
    Quelcun a-t-il une idée ??

    Merci

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Cela dépend de l'Interclassement de tes champs texte qui va définir si le champ est sensible ou non à la casse.

    Pour le savoir, il faut regarder les 2 dernières lettres.

    Par exemple :
    latin1_general_ci => ci = case insensitive = pas sensible à la casse
    latin1_general_cs => cs = case sensitive = sensible à la casse

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Par défaut
    Un très bon tuto : http://antoun.developpez.com/mysql5/...Collations.pdf

    Qui t'explique entre autre les façons de changer les collations lors de la requêtes pour ne pas avoir a modifier les tables si tu ne peut pas.

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Par défaut
    Effectivement mes champs sont à latin1_general_ci ou latin1_swedish_ci , mais le problème qui se pose c'est que sur les champ BLOB qui ne prennent aucune valeur à Interclassement . Même si vous en mettez une, elle apparaît vide lorsque vous valider, comment faire à ce niveau ?

    Merci

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Par défaut
    OK, je vois kel était le problème, j'utilisais le type BLOB qui respecte la casse, je suis passé au type TEXT qui ne respecte pas la casse et ça marche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2010] recherche dans une liste à partir de cases à cocher
    Par number6six dans le forum SharePoint
    Réponses: 2
    Dernier message: 25/06/2014, 12h02
  2. [MySQL] rechercher dans mysql
    Par le maire dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/05/2014, 11h13
  3. Réponses: 10
    Dernier message: 06/09/2012, 10h30
  4. Réponses: 1
    Dernier message: 23/05/2008, 23h19
  5. Recherche FULL Text existe que dans MySql ?
    Par seb.49 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/06/2004, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo