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   -
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ù) :
<?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:

2 réponses

jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
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
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

1
IIwayII Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Bon, ça remarche, je sais pas ce qui s'est passé mais bon temps mieux... J'ai enlevé des parties de script javascript au cas où pour voir si ça marchait, et ça été le cas, et ça a continué d'être le cas quand je les ai remises...
0