Str_ireplace: PHP5
developper55
Messages postés
123
Date d'inscription
Statut
Membre
Dernière intervention
-
developper55 Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
developper55 Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un souci avec STR_replace dans PHP5,
si par exemple mon variable $_POST['description'] contient "Le niveau de concurrence dans le domaine d'activité du site"
" ' " le cota (d'activité) et quand je l'inject dans ma base ,il me donne Erreur au prés du 'd'activité'
sur une version PHP4 cette ligne de commande fonctionne très bien str_replace("'", "''", $_POST['description'])
mais pas sur PHP5.x même jé utilié str_ireplace("'", "''", $_POST['description'])
Que pensez vous
merci par avance
j'ai un souci avec STR_replace dans PHP5,
si par exemple mon variable $_POST['description'] contient "Le niveau de concurrence dans le domaine d'activité du site"
" ' " le cota (d'activité) et quand je l'inject dans ma base ,il me donne Erreur au prés du 'd'activité'
sur une version PHP4 cette ligne de commande fonctionne très bien str_replace("'", "''", $_POST['description'])
mais pas sur PHP5.x même jé utilié str_ireplace("'", "''", $_POST['description'])
Que pensez vous
merci par avance
2 réponses
Bonjour,
S'il s'agit d'une base mysql il faut, que ce soit en PHP4 ou en PHP5, 'protéger' les variables à insérer. Et ça ne se fait pas en bidouillant soi-même avec des addslashes ou des str_ireplace, mais avec la fonction faite pour ça : mysql_real_escape_string ( https://www.php.net/manual/fr/function.mysql-real-escape-string.php ) ou sa soeur mysqli_real_escape_string, selon la bibliothèque utilisée.
Le changement de comportement vient probablement d'un changement de configuration de PHP ou de mysql, plutôt que du langage lui-même.
S'il s'agit d'une base mysql il faut, que ce soit en PHP4 ou en PHP5, 'protéger' les variables à insérer. Et ça ne se fait pas en bidouillant soi-même avec des addslashes ou des str_ireplace, mais avec la fonction faite pour ça : mysql_real_escape_string ( https://www.php.net/manual/fr/function.mysql-real-escape-string.php ) ou sa soeur mysqli_real_escape_string, selon la bibliothèque utilisée.
Le changement de comportement vient probablement d'un changement de configuration de PHP ou de mysql, plutôt que du langage lui-même.