Bonjour,
Voila mon problème:
J'ai un script PHP qui génère des query INSERT/UPDATE en vue de les exécuter dans une base de données ORACLE.
Lorsqu'un utilisateur entre des quote (') dans le textarea qui sert de source à la génération de ma query ça me pose quelques soucis.
Le magicquote étant activé (et ne pouvant pas être désactivé) remplace les ' pas des \', mais voila en Oracle un quote doit être remplacé par un double quote pour être correctement interprété.
Je me suis dis qu'en utiliserun simple str_replace qui lui changerait tous mes quote en double quote je serait quite du problème, mais non vu que le magiquote est activé il me rajoute quand même des \ devant mes doubles quotes.
Et lorsque j'entre par exemple:
le chaine est transformée en
Code : Sélectionner tout - Visualiser dans une fenêtre à part This is a test' ok ' 3 ''.
Code : Sélectionner tout - Visualiser dans une fenêtre à part This is a test\'' ok \'' 3 \''\''
L'insertion se fait alors correctement mais je me retrouve avec des \ dans ma DB... Je pourrais utiliser un stripslashes lors de l'affichage des informations mais je n'ai pas envie de polluer ma DB avec des données incorrectes.
La solution serait, je pense, de pouvoir désactiver le magicquote pour ce script pendant le temps de son exécution, mais je ne peux pas changer le PHP ini car ça aurait des conséquences sur d'autres programmes du server.
Merci
Partager