Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2011, 23h32   #1
Membre habitué
 
Inscription : avril 2010
Messages : 307
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 307
Points : 109
Points : 109
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 :
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
mesken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 01h21   #2
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 329
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : janvier 2007
Messages : 1 329
Points : 1 657
Points : 1 657
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
__________________
Zend Certified Engineer PHP 5.3

« Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 07h56   #3
Membre confirmé
 
Inscription : juillet 2011
Messages : 146
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 146
Points : 253
Points : 253
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.
Tolriq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 12h10   #4
Membre habitué
 
Inscription : avril 2010
Messages : 307
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 307
Points : 109
Points : 109
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
mesken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 18h18   #5
Membre habitué
 
Inscription : avril 2010
Messages : 307
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 307
Points : 109
Points : 109
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.
mesken est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h04.


 
 
 
 
Partenaires

Hébergement Web