Page 1 sur 1
Toujours un problème d'apostrophe dans une requête
Posté : 14 févr. 2018, 22:01
par Anémone
Bonjour,
En butte au problème de ne pouvoir faire de requête "normalement" sur des variables comportant une apostrophe sans passer par l'artifice de traiter ma variable par la fonction replace:
qui a ses limites... L'artifice fonctionne sur les variables stockées via un import de fichier .csv, mais pas sur celles insérées via un script. Il y a mieux à faire, sûrement, mais quoi?
Merci d'avance (un grand merci...) .
Thierry
Re: Toujours un problème d'apostrophe dans une requête
Posté : 14 févr. 2018, 22:22
par or 1
Re: Toujours un problème d'apostrophe dans une requête
Posté : 15 févr. 2018, 11:01
par Anémone
Bonjour,
En fait, ça ne change rien, j'ai toujours la même différence de comportement entre les variables insérées par un import et celles insérées par un script.
Re: Toujours un problème d'apostrophe dans une requête
Posté : 16 févr. 2018, 01:13
par @rthur
La solution données par or1 est bien celle à suivre.
Donc après il faut que tu fasses un peu de debugage, que tu lises les messages d'erreurs attentivement en essayant de comprendre ce qu'ils essayent de dire, et en dernier recours que tu nous en dises plus que "j'ai une différence de comportement" : qu'est-ce qui ne fonctionnent pas comme attendu, extrait de code qui ne marche pas, quels sont les message d'erreurs rencontrés, etc...

Re: Toujours un problème d'apostrophe dans une requête
Posté : 16 févr. 2018, 11:52
par Anémone
Bonjour,
et merci de m'avoir répondu.
J'ai testée msqli_real_escape_string mais elle ne fonctionne pas sur ma base. En revanche addslashes fonctionne, mais là encore uniquement sur les données insérées via un import de fichier .csv. Pour ce qui est des messages d'erreur, mysqli_error($marequete) n'en génère pas. La requête n'est tout simplement pas effectuée.
Pour être plus précis, mes scripts s'apparentent à ceux d'un processus d'achat en ligne. J'extrais des données enregistrées dans une table d'une base, les stocke en session, les complète puis les enregistre dans une autre table de la même base. Dans la table initiale, il y a des données importées via un fichier .csv, dont les apostrophes ne posent pas de problème (si traitées par str_replace("'","'',",$requete) ou addslashes au moment de leur enregistrement dans la deuxième table. En revanche avec les données qui ont été insérées dans la première table via un sript d'ajout de données, éventuellement au cours de la même session, les apostrophes posent problème. Leur enregistrement dans la deuxième table ne se fait pas (alors qu'elles apparaissent bien en session).
Est-ce bien un problème de code?
Re: Toujours un problème d'apostrophe dans une requête
Posté : 16 févr. 2018, 13:15
par Anémone
Et voici, pour illustrer mes propos, l'adresse du site où se manifeste le problème:
http://www.nutrizoom.fr/calculs_nutritionnels.php
Merci
Re: Toujours un problème d'apostrophe dans une requête
Posté : 16 févr. 2018, 15:38
par @rthur
Il faut que tu débug ton code, pas à pas, pour que tu comprennes à quel moment ça ne fonctionne pas comme prévu.
Fait un echo de ta requête SQL qui ne fonctionne pas, et teste là dans phpmyadmin.
Re: Toujours un problème d'apostrophe dans une requête
Posté : 16 févr. 2018, 15:57
par Anémone
J'ai déjà fait tout ça... plusieurs fois, mais bon, je vais recommencer.
Merci, à +