Rendre sensible à la casse fetch()
dsfhe
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans ce code :
Que ce soit en requête : SELECT * FROM table WHERE toto = 'a' OU SELECT * FROM table WHERE toto = 'A'
J'obtiens tout le temps la même chose, comment rendre sensible à la casse ?
Merci d'avance.
Dans ce code :
$req->closeCursor();
$reponse = $bdd->query('SELECT * FROM table WHERE toto = 'a'');
if($donnees = $reponse->fetch()) {
echo $donnees['id'];
}
$reponse->closeCursor();
Que ce soit en requête : SELECT * FROM table WHERE toto = 'a' OU SELECT * FROM table WHERE toto = 'A'
J'obtiens tout le temps la même chose, comment rendre sensible à la casse ?
Merci d'avance.
2 réponses
-
Salut,
Essaie avec ceci :SELECT * FROM table WHERE toto = 'a' COLLATE latin1_bin
(ou utf8_bin ou autre selon l'interclassement que tu utilises). -
Merci, à la place de le mettre latin1_bin dans la requête SQL, je directement modifié l'interclassement dans phpMyAdmin et j'ai mis latin1_bin.
Mais latin1_bin çz correspond à quoi ? Quels caractères sont acceptés ?
Car dans ma table, il y a des URL (tout les caractères des URL) et des id composés de chiffres et lettres avec minuscules et majuscules.-
-
-
-
latin1_bin correspond à l'ISO-8859-1, le jeu de caractère souvent uilisé en français.
Contrairement à latin1_general_ci (case insensitive), il est sensible à la casse.
Ton problème me paraît étrange, surtout qu'en effectuant une recherche sur Google avec « "BLOB - 86o" » (avec les guillemets pour l'expression exacte), on obtient un seul résultat : ce sujet. -
-