Maison  >  Article  >  développement back-end  >  À propos de l'analyse fonctionnelle des addcslashes et stripcslashes en PHP

À propos de l'analyse fonctionnelle des addcslashes et stripcslashes en PHP

不言
不言original
2018-06-19 09:53:391342parcourir

Cet article présente principalement l'utilisation des fonctions addcslashes et stripcslashes en PHP, et analyse la fonction addcslashes sous forme d'exemples pour ajouter un traitement d'échappement pour les caractères fixes et des stripcslashes pour les opérations de restauration. Les amis qui en ont besoin peuvent s'y référer

Cet article analyse l'utilisation des fonctions addcslashes et stripcslashes en PHP avec des exemples. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Lors de la rédaction de la version anglaise d'un site Web, je remplis les informations en anglais après avoir écrit. Il n'y a aucun problème lorsque je les remplis avec désinvolture. , mais chaque fois que je remplis le contenu spécifié, mais il n'a pas pu être rempli et aucune erreur n'a été signalée. J'ai vérifié la base de données et j'ai découvert que ce champ utilisait le type de données "TEXTE". long, j'ai donc changé le type de données en "texte long", mais lors de la soumission, j'ai constaté que le même problème se produisait toujours. Présentons-nous la fonction addcslashes !

Plus tard, j'ai demandé conseil à un collègue, et il a découvert que la raison de la ponctuation "'" en anglais est qu'après l'exécution de MySQL ici, il pense automatiquement que l'instruction est utilisée. est terminé, je ne peux donc pas l'ajouter supérieur. Maintenant que vous avez trouvé le problème, vous devez trouver la solution correspondante, qui consiste à ajouter le caractère d'échappement "" avant tout "'" dans le contenu du texte. Il se trouve que PHP offre la possibilité d'ajouter ou de supprimer automatiquement des échappements. à partir de chaînes. Les fonctions de caractères addcslashes et stripcslashes, donc après avoir ajouté le test, le problème a été résolu ! On peut voir que je ne suis pas assez strict lors de l'écriture de programmes en semaine, et j'ignore toujours ces détails et d'autres si un HACKER les découvre. problèmes et les exploite, le site Web est pratiquement TERMINÉ, donc tout le monde doit prendre cela comme un avertissement et ne pas commettre la même erreur que moi.

Ce qui suit est une brève introduction à l'utilisation de ces deux fonctions :

string addcslashes(string str, string charlist)

Le premier paramètre str doit être la chaîne originale de la propriété Lost

Le deuxième paramètre charlist spécifie quels caractères de la chaîne originale doivent être précédés du caractère "".

string stripcslashes(string str)

Supprimez le "" dans la chaîne.

De plus, vous pouvez également utiliser la fonction addlashes pour échapper directement à "'".

Un exemple est le suivant :

<?php
$sql = "update book set bookname=&#39;let&#39;s go&#39; where bookid=1";
 echo $sql."<br/>";
 $new_sql = addcslashes($sql,"&#39;");
 echo $new_sql."<br/>";
 $new_sql_01 = stripcslashes($new_sql);
 echo $new_sql_01."<br/>";
 echo addslashes($sql);
?>

Le résultat en cours d'exécution est le suivant :

update book set bookname=&#39;let&#39;s go&#39; where bookid=1
update book set bookname=\&#39;let\&#39;s go\&#39; where bookid=1
update book set bookname=&#39;let&#39;s go&#39; where bookid=1
update book set bookname=\&#39;let\&#39;s go\&#39; where bookid=1

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois. !

Recommandations associées :

À propos de l'utilisation du moteur de modèles PHP, section et section des fonctions intégrées Smarty

Comment utilisez la sortie claire de php ob_start() et la sortie sélective

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