Faire une requête mysql sans prendre en compte la casse des caractères
Résolu
IIwayII
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41519 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41519 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Lorsque l'on s'inscrit sur mon site, j'ai mis une fonction ajax qui permet de savoir si le nom d'utilisateur est disponible ou non. Pour cela un autre fichier regarde si lorsqu'il recherche le nom d'utilisateur tapé il trouve quelques chose.
Sur Google Chrome ça marche parfaitement, mais je l'ai testé sur firefox et là, si par exemple on tape "pseudo" au lieu de "Pseudo" ça va nous dire que le pseudo est disponible alors que pas du tout !
Du coup j'ai cherché un peu et je pense que lors de ma requête mysql : 'SELECT id, pseudo FROM membres WHERE pseudo = :pseudo ', le WHERE de firefox doit prendre en compte la casse des caractères....
Alors, comment faire pour que lors de ma requête, il ne prennent pas en compte de si le pseudo est tapé en majuscules ou en minuscules ?
J'ai cherché un peu sur Internet, mais j'ai pas trouvé grand chose et ce que j'ai trouvé j'ai pas trop compris :/
Voilàà, merci d'avance :)
Voici mon code complet (au cas où) :
Lorsque l'on s'inscrit sur mon site, j'ai mis une fonction ajax qui permet de savoir si le nom d'utilisateur est disponible ou non. Pour cela un autre fichier regarde si lorsqu'il recherche le nom d'utilisateur tapé il trouve quelques chose.
Sur Google Chrome ça marche parfaitement, mais je l'ai testé sur firefox et là, si par exemple on tape "pseudo" au lieu de "Pseudo" ça va nous dire que le pseudo est disponible alors que pas du tout !
Du coup j'ai cherché un peu et je pense que lors de ma requête mysql : 'SELECT id, pseudo FROM membres WHERE pseudo = :pseudo ', le WHERE de firefox doit prendre en compte la casse des caractères....
Alors, comment faire pour que lors de ma requête, il ne prennent pas en compte de si le pseudo est tapé en majuscules ou en minuscules ?
J'ai cherché un peu sur Internet, mais j'ai pas trouvé grand chose et ce que j'ai trouvé j'ai pas trop compris :/
Voilàà, merci d'avance :)
Voici mon code complet (au cas où) :
<?php if (isset($_GET['username']) AND ($_GET['username']) !== NULL AND ($_GET['username']) !== "") { $username = $_GET['username']; $bdd = new PDO('mysql:host=localhost;dbname=bdp;charset=utf8mb4', 'root', 'root'); $req = $bdd->prepare('SELECT id, pseudo FROM membres WHERE pseudo = :pseudo '); $req->execute(array('pseudo' => $username)); $auteur_exist = $req->rowCount(); if($auteur_exist == 1) { echo 1; } else{ echo 0; } } else { echo 'erreur'; } ?>
A voir également:
- Faire une requête mysql sans prendre en compte la casse des caractères
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte google - Guide
- Tiktok gratuit sans compte - Accueil - TikTok
- Caractères ascii - Guide
- Caractères spéciaux - Guide
2 réponses
Bonjour,
Si dans une requete sql on ne veut pas tenir compte des minuscules/majuscules, on peut convertir les 2 valeurs, majusucules ou minuscules avec
ou
et on peut aussi à la création forcer l'enregistrement de la valeur (majuscule ou minuscule) avec les mêmes fonctions
Si dans une requete sql on ne veut pas tenir compte des minuscules/majuscules, on peut convertir les 2 valeurs, majusucules ou minuscules avec
WHERE upper(pseudo) = upper(:pseudo)
ou
WHERE lower(pseudo) = lower(:pseudo)
et on peut aussi à la création forcer l'enregistrement de la valeur (majuscule ou minuscule) avec les mêmes fonctions