PHP中addcslashes与stripcslashes函数用法分析


Posted in PHP onJanuary 07, 2016

本文实例分析了PHP中addcslashes与stripcslashes函数用法。分享给大家供大家参考,具体如下:

在写一个网站的英文版时,写完后填加英文资料,我随便填写时一点问题没有,但每当填加指定的内容时却填加不上,也不报错,我查看了数据库,发现这个字段用的是“TEXT”数据数型,我以为是内容过长的原因,于是我把数据类型改成了“longtext”,但提交时发现还是出现同样的问题。下面我们给大家介绍一下addcslashes函数吧!

后来请教同事,同事发现在是英文中带标点“'”的原因,MySQL执行到此处后自动认为语句结束,所以才填加不上。既然找出来了问题那就得找出对应的解决方法,那就是在文本内容中的“'”前全部加上转义字符“\”,正好PHP中提供了自动在字符串中加入或去除转义字符的函数addcslashes和stripcslashes,于是加上测试后,果然问题解决!由此可见,我平日写程序时不够严禁,总是会忽略这样那样的细节问题,如果被HACKER发现这些问题加一利用,网站基本就OVER了,所以大家一定要引以为戒,不要和我犯同样的错误哦。

下面简单介绍这两个函数的用法:

string addcslashes(string str,string charlist)

第1个参数str为待失物原始字符串

第2个参数charlist说明需要在原始串的哪些字符前加上字符 “\”。

string stripcslashes(string str)

去掉字符串中的“\”。

另外,使用addslashes函数也可直接针对“'”进行转义处理。

示例如下:

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

运行结果如下:

update book set bookname='let's go' where bookid=1
update book set bookname=\'let\'s go\' where bookid=1
update book set bookname='let's go' where bookid=1
update book set bookname=\'let\'s go\' where bookid=1

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP_MySQL教程-第一天
Mar 18 PHP
php 字符转义 注意事项
May 27 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
Apr 22 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php常量详细解析
Oct 27 PHP
分享php邮件管理器源码
Jan 06 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
如何在PHP中使用数组
Jun 09 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 PHP
使用php+swoole对client数据实时更新(一)
Jan 07 #PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 #PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 #PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 #PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 #PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 #PHP
我整理的PHP 7.0主要新特性
Jan 07 #PHP
You might like
php 动态添加记录
2009/03/10 PHP
PHP 输出缓存详解
2009/06/20 PHP
PHP中读写文件实现代码
2011/10/20 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
php递归函数怎么用才有效
2018/02/24 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
React实现轮播效果
2020/08/25 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
python模拟实现分发扑克牌
2020/04/22 Python
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
印尼旅游网站:via
2017/11/12 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
个人查摆剖析材料
2014/10/04 职场文书
学校法制宣传日活动总结
2014/11/01 职场文书
优秀班主任材料
2014/12/16 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL
Python 多线程处理任务实例
2021/11/07 Python