Page 1 sur 1

Problème d'apostrophe dans une requête

Posté : 07 févr. 2018, 13:42
par Anémone
Bonjour,

Sujet ô combien récurent sur lequel j'ai épluché tout ce que j'ai trouvé sans succès.
Je veux faire une recherche dans une bdd dans laquelle les apostrophes ne sont pas échappées.
Je passe par un GET, qui me met en url:

Code : Tout sélectionner

calculs_nutritionnels.php?calcul=sardine%2B%25C3%25A0%2Bl%2527huile%252C%2Bappertis%25C3%25A9e%252C%2B%25C3%25A9goutt%25C3%25A9e
Avec le code ci-dessous

Code : Tout sélectionner

mysqli_real_escape_string($connect,$_REQUEST['calcul'])
J'affiche correctement

Code : Tout sélectionner

sardine à l'huile d'olive, appertisée, égouttée
En faisant une requête via phpmyadmin, je trouve la réponse correcte. Cependant ma requête est transformée par phpmyadmin en:

Code : Tout sélectionner

SELECT * FROM `composition_nutritionnelle` WHERE `produit` LIKE 'sardines à l''huile d''olive, appertisée, égouttée'
En revanche ma requête passée par le formulaire ci-dessous n'aboutit pas:

Code : Tout sélectionner

SELECT * composition_nutritionnelle WHERE produit LIKE '".mysqli_real_escape_string($connect,$_REQUEST['calcul'])."'
J'ai essayé de remplacer dans ma requête les ' par des '', j'ai désactivé les magic_quotes par php.ini et .htaccess, et tout ça sans résultat.
Un coup de main serit des plus bienvenus.
Un grand merci d'avance,

Thierry

Re: Problème d'apostrophe dans une requête

Posté : 07 févr. 2018, 13:55
par Anémone
Erratum:
C'est

Code : Tout sélectionner

urldecode(mysqli_real_escape_string($connect,$_REQUEST['calcul']))
que j'utilise, aussi bien dans ma requête que dans l'affichage de son objet...

Re: Problème d'apostrophe dans une requête

Posté : 07 févr. 2018, 14:21
par or 1
et avec
mysqli_real_escape_string($connect, urldecode($_REQUEST['calcul']))
?

Re: Problème d'apostrophe dans une requête

Posté : 07 févr. 2018, 15:14
par Anémone
Super! C'était ça! Grand merci!