comparaison mysql avec apostrophe (encore !?)
Hello
j'ai la requête suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?php
$ville_depart = htmlentities(stripslashes(trim($_POST['ville_depart'])), ENT_QUOTES);
$query_depart = "SELECT CONCAT(code, zone_abc) AS zone_depart FROM villes WHERE nom=\"$ville_depart\" LIMIT 1;";
$result_depart = mysqli_query($link, $query_depart);
if (!$result_depart) die(mysqli_error($link).'<br />'.$query_depart);
if (mysqli_num_rows($result_depart) !== 1) {
$error[] = "La ville de départ n'a pas été trouvée, veuillez choisir une ville dans la liste";
$focus[] = 'ville_depart';
}
?> |
où
Code:
$_POST['ville_depart'] = "L'HAY LES ROSES"; // ville contenant une apostrophe
je ne comprends pas pourquoi le script me retourne l'erreur "la ville de départ..." !
Poutant, le résultat de la requete :
Code:
1 2 3
| <?php
echo $query_depart = "SELECT CONCAT(code, zone_abc) AS zone_depart FROM villes WHERE nom=\"$ville_depart\" LIMIT 1;";
?> |
qui me donne ça :
Citation:
SELECT CONCAT(code, zone_abc) AS zone_depart FROM villes WHERE nom="L'HAY LES ROSES" LIMIT 1;
...et quand je teste directement dans phpmyadmin, il me renvoie bien un résultat !!
je précise que ma colonne nom est de type char(40) not null
je ne vois pas où j'ai faux, là...
j'oubliais, dans ma BDD, le nom enregistré est bien sûr L'HAY LES ROSES (et non L\'HAY LES ROSES)