Problème pour comparer des valeurs avec accent
Bonjour,
Je ne comprends pas un truc.
J'ai un formulaire qui ajoute des clients dans une base de donnée.
Code:
1 2 3 4
|
$sql_client = "SELECT id_clients,fd_name, fd_firstname FROM tb_clients WHERE id_clients LIKE ".$_POST['id_client']." OR (fd_name LIKE '".htmlentities($_POST['name'])."' AND fd_firstname LIKE '".htmlentities($_POST['firstname'])."')";
$query_client = mysql_query($sql_client)or die(mysql_error());
echo $nb_client = mysql_num_rows($query_client); |
On voir ci-dessous qui si les client existent déjà en fonction du nom et prénom, $nb_client retourne 1, et donc ensuite, il n'y aura pas d'insertion, mais un message d'erreur.
Le problème c'est que ça marche avec les valeurs sans accent, mais pour ceux qui en ont eux, $nb_client retourne 0 alors qu'il devrait retourner 1.
Je crois savoir pourquoi.
Si je rentre José dans le champs prénom, par exemple cette valeur sera comparé avec José dans la base de donnée.
Alors j'ai ajouté
Code:
htmlentities($_POST['firstname'])
qui devrait changer la valeur José en José dans mon
Code:
$_POST['firstname']
Simplement ça ne marche toujours pas. $nb_client retourne toujours 0 alors qu'il devrait retourner 1, puisqu'il existe.
J'aimerais juste encore préciser que dans mon exemple ci-dessus, considérons que le nom est également identique, dans le formulaire que dans la base de donnée.
Une simple idée?
Merci