Stripslashes和addslashes 区别

Stripslashes和addslashes 区别http blog 163 com you mein2009 blog static 90 Stripslashes 函数删除由 addslashes 函数生成的斜杠 语法 stripslashes string string 必需的参数 是规定要检查的字符串 提示和注释 该函数用于

 http://blog.163.com/you_mein2009/blog/static/90/

Stripslashes和addslashes 区别 - 蓝色花絮 - 永远的2009

Stripslashes()

函数删除由addslashes() 函数生成的斜杠。

语法:

stripslashes(string)

string 必需的参数,是规定要检查的字符串。

提示和注释:

该函数用于清理从数据库或html表单中取回的数据。

例一:

echo stripslashes(“Who\’s John Adams?”);

?>

本例输出:

Who’s John Adams?

 

addslashes()

函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:

单引号(‘)

双引号(“)

反斜杠(\)

NULL

语法:

addslashes(string)

参数:

String必需。规定要检查的字符串。

提示:

该函数 可用于为储存在数据库中的字符串 以及 数据库查询语句准备合适的字符串。

注释:

默认情况下,PHP 指令 magic_quotes_gpc 为 on,意味着插入数据库中会自动转换,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

如果get_magic_quotes_gpc为0,则表示未启用,此时POST/GET/COOKIE中的敏感字符就不会自动转义,此时就调用daddslashes

例二:

测试在本例中,我们要向字符串中的预定义添加反斜杠:

$str = “Who’s John Adams?”;

echo addslashes($str) . ” This is safe in a database query.”;

?>

本例输出:

Who’s John Adams? This is not safe in a database query.

Who\’s John Adams? This is safe in a database query.

 

向mysql写入数据

当magic_quotes_gpc = On时,系统会自动处理单引号等问题,用不用addslashes()和stripslashes()都没关系,但是如果添加数据时用了addslashes(),那么显示数据时必须要stripslashes()。

当magic_quotes_gpc = Off时,系统不会处理单引号等问题,所以插入数据时必须要使用addslashes(),显示数据时则不需要使用stripslashes()。

既然有了分析,做程序时要怎么办呢?

根据以上两种情况,可得:

不管magic_quotes_gpc是On还是Off,添加数据时都用addslashes(),当On时,必须使用stripslashes(),Off时则不能用stripslashes()。

如何判断On还是Off呢?用get_magic_quotes_gpc()。

例:

//$content 从数据库里读取内容

if(get_magic_quotes_gpc()){ $Content=stripslashes($Content); }

echo $Content;

?>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179031.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:59
下一篇 2026年3月26日 下午3:59


相关推荐

  • 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程…

    正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程…当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一:强制重新启动电脑(长按电源键然后再按一下),然后会有好多项选择,第一项一般是“正常启动”最后一项是“最后一次正确配置”,选择“最后一次正确配置”(有的电脑可能提…

    2022年6月14日
    112
  • 公网IP和内网IP区别

    公网IP和内网IP区别什么是内网IP:一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IPSharing),使用整个公司或学校的机器都能够访问互联网。而这些企业或学校的机器使用的IP地址就是内网IP,内网IP是在规划IPv4协议时,考虑到IP地址资源可能不足,就专门为内部网设计私有IP地址(或称之为保留地址),一般常用内网IP地址都是这种形式的:10.X.X.X、172.16.X.X-1…

    2022年4月30日
    54
  • Android布局详解

    Android布局详解Android六大基本布局分别是:线性布局LinearLayout、相对布局RelativeLayout、帧布局FrameLayout、表格布局TableLayout、网格布局GridLayout。其中,表格布局是线性布局的子类。网格布局是android4.0后新增的布局。普通视图还是布局都继承自View,其中ViewGroup就是所有布局的父类,ViewGroup继承自View…

    2022年6月2日
    39
  • NR 5G 网络切片[通俗易懂]

    NR 5G 网络切片[通俗易懂]5G网络切片网络切片是在5G引入的新概念之一,关于网络切片首先从5G的前辈3G和4G说起,从3G时代开始,手机上网就靠数据业务流量,但网络资源有限,不可能保证所有业务都能全速进行,总得捡重要的首先保障。最简单的方式就是对业务进行分类,给予不同优先级的业务不同的资源,不同的服务质量,这就是QoS(QualityofService)的来源。3G网络,是无线互联网的开端,通过对所有用户的各种类型…

    2026年4月15日
    8
  • Claude Code中文教程:100%免费,从入门到精通

    Claude Code中文教程:100%免费,从入门到精通

    2026年3月15日
    3
  • php导出excel表格_phpspreadsheet导出

    php导出excel表格_phpspreadsheet导出Spout是一个PHP库,可以快速,可扩展的方式读写电子表格文件(CSV,XLSX和ODS)。与其他文件读写器相反,它能够处理非常大的文件,同时保持内存使用率非常低。phpspreadsheet是phpexcel的下一个版本。它打破了兼容性,大大提高了代码基础质量(名称空间、PSR兼容性、使用最新的PHP语言功能等)。因为所有的努力都转移到了phpspreadsheet,phpexcel将不……………

    2025年12月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号