Maison  >  Article  >  développement back-end  >  Explication détaillée de la différence entre la fonction php stripslashes() et la fonction addlashes()

Explication détaillée de la différence entre la fonction php stripslashes() et la fonction addlashes()

怪我咯
怪我咯original
2017-05-22 11:22:341708parcourir

Précédemment présenté les fonctions et certaines utilisations de la fonction addslashes() et de la fonction stripslashes() en PHP Cet article présente la fonction PHP stripslashes() et la fonction addlashes() . différence.

La différence entre eux en termes de noms de fonctions : strip (strip) slashs (slash) add (add) slashs (slash), donc l'un d'eux supprime les slashs et l'autre ajoute Ajout une barre oblique a l'effet inverse.

Scénarios d'utilisation : En fait, ces deux fonctions sont principalement utilisées dans certains traitements de données qui nécessitent de convertir des caractères spéciaux, tels que les opérations de base de données, lors de l'écriture dans la base de données, nous devons les mettre. guillemets simples comme celui-ci Les caractères spéciaux sont échappés et enregistrés, et lors de la lecture,

nous devons inverser l'échappement de ces caractères spéciaux échappés dans la base de données.

Lorsque nous écrivons des données sur MySQL, par exemple :

mysql_query("update table set `title`='kuhanzhu's blog'");

Une erreur se produira. Comme asp, les bases de données sont allergiques aux guillemets simples. À l'heure actuelle, les ajouts sont les plus précieux et ont la même fonction que le remplacement d'asp("'",""","le blog de Kuhanzhu").

Pour des raisons de sécurité, PHP introduit magic_quotes_gpc = On fonction, vous pouvez directement insérer des guillemets simples dans la base de données sans aucun traitement. Ensuite, pour Off, vous devez considérer la question des guillemets simples au lieu de faire aveuglément confiance à l'environnement d'exploitation

Quand magic_quotes_gpc = When On, les données. traité à l'aide de addlashes() sera enregistré dans la base de données sous la forme de '. Si vous le sortez directement à ce moment-là, vous constaterez qu'il y a plus de contenu que prévu, donc stripslashes() apparaît, qui peut être supprimé (différent de str_replace("", "",$Str))

Lorsque magic_quotes_gpc = Off, les données traitées par addlashes() seront enregistrées dans la base de données sous la forme de ', pas comme mentionné ci-dessus Pour certains problèmes. , addlashes() peut éviter les erreurs lors de l'insertion des données. Si les données sont sorties directement à ce moment-là, il n'est pas nécessaire d'utiliser stripslashes() et stripslashes(). Au contraire, la mémoire directe : addlashes() en ajoute un, stripslashes(). ) en supprime un

Alors quand l'utiliser ?

En termes simples :

Quand magic_quotes_gpc = When On, le système gérera automatiquement les problèmes tels que les guillemets simples. Peu importe que vous utilisiez addlashes() et stripslashes(). Cependant, si addlashes() est utilisé lors de l'ajout de données, stripslashes()

doit être utilisé lors de l'affichage des données. magic_quotes_gpc = Off, le système ne gérera pas les problèmes tels que les guillemets simples, vous devez donc utiliser addlashes() lors de l'insertion de données, et il n'est pas nécessaire d'utiliser stripslashes() lors de l'affichage des données. Maintenant que nous avons l'analyse, que devons-nous faire lors de l'exécution du programme ? Selon les deux situations ci-dessus, nous pouvons obtenir :

Que magic_quotes_gpc soit activé ou désactivé, nous utilisons addlashes() lors de l'ajout de données. . , stripslashes() doit être utilisé, stripslashes() ne peut pas être utilisé lorsqu'il est désactivé.

Comment déterminer s'il est activé ou désactivé ? Utilisez get_magic_quotes_gpc(). ) fonction. Le code de cet article

est le suivant :

[Articles associés recommandés] : Explication détaillée des exemples de fonctions php addlashes() et stripslashes()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn