caractère d'échappement stocké dans mysql
Bonjour
Je gère le site de ma chorale.
En local, je suis en PHP 5.2.0 et mysql 5.0.22 et magic_quotes_gpc Off
Chez l'hébergeur (pages perso de Free) c'est PHP 5.1.3RC4-dev et mysql 5.0.77 et magic_quotes_gpc On.
Dans une table, des champs contiennent des chaines de caractères dont certaines comportent des '.
J'applique mysql_real_escape_string à ces chaines avant insertion dans la table.
En local, le champ contient la chaine avec apostrophe.
Chez l'hébergeur, l'apostrophe est précédée du caractère d'échappement \
Que puis-je faire pour ne pas avoir le caractère \ chez l'hébergeur.
En suivant un ancien sujet de ce forum, j'ai déjà essayé :
Le php_flag magic_quotes_gpc Off dans htaccess (qui génère une erreur 500 comme annoncé)
un php.ini à la racine du site avec la directive magic_quotes_gpc = Off
un ini_set("magic_quotes_gpc", "Off"); dans un script chargé en require_once au début du script qui insert les données dans la table.
Tout cela ne change rien.
Je sais que je peux retraiter les données extraites de la BD avec stripSlashes mais je devrais le faire à plusieurs endroits. Puisque, en local la chaine stockée est prête à l'emploi, j'aimerais avoir la même facilité chez l'hébergeur.
Merci.
Cordialement
caractère d'échappement stocké dans mysql
Bonjour et merci jreaux62 de ta réponse qui amène plusieurs questions :
Si je passe en php 5.6, tu me dis que je devrais utiliser mysqli. Cela implique-t-il de modifier tout le code existant, soit des centaines d'utilisations de mysql_ ?
Est-ce que l'ensemble de mon code pré-existant restera utilisable avec php 5.6 ou y aura-t-il d'autres modifications à lui appliquer pour qu'il soit correctement exécuté ?
En local, j'utilise EasyPHP 2.0b1. Je ne sais pas comment passer en php 5.6 dans cet environnement (idiot une minute plutôt que toute ma vie... !).
En lisant le sujet https://www.php.net/manual/fr/securi....disabling.php, j'ai compris que tous les essais relatés dans mon 1er message étaient vains.
Merci.
Cordialement
caratère d'échappement stocké dans mysql
Merci de ta nouvelle réponse jreaux62.
Par rapport au point 4 de celle-ci (les modifications non prévisibles que pourrait impliquer le passage à php 5.6) : si je le fais chez Free, pourrais-je repasser à php 5.2 simplement en ramenant le htaccess à son état antérieur si je vois qu'il y a des problèmes ?
Sans doute vaut-il mieux d'abord installer en local une version récente d'EasyPHP avec php 5.6, en double de mon environnement actuel, y importer la BD pour voir ce qui se passe ?
Merci
Cordialement
caractère d'échappement stocké dans mysql
Bonjour
Peux-tu me dire ce qui change dans php 5.6 qui permet de ne pas avoir le caractère d'échappement dans mysql ?
Concernant les modifications à faire éventuellement sur le site suite à l'upgrade de php, existe-t-il un outil permettant de lister toutes les occurrences de fonctions (ou autres "composants" php) qui sont à modifier en fonction de la version en place et de la version cible ?
Merci.
Cordialement
caractère d'échappement stocké dans mysql
Bonjour
Je n'ai guère eu le temps d'avancer sur le sujet depuis un moment. Je dois faire des essais sur le passage en php 5.6 avec une version récente d'EasyPHP. Comme je n'ai pas toujours beaucoup de temps pour travailler sur ces questions, je vais clore la discussion quitte à faire un nouveau sujet ultérieurement.
Merci de ton aide jreaux62.
Cordialement