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中使用Akismet防止垃圾评论的代码
Jun 10 PHP
YII路径的用法总结
Jul 09 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
php查询whois信息的方法
Jun 08 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
php 基础函数
Feb 10 PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 PHP
php-msf源码详解
Dec 25 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 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如何得到当前页和上一页的地址?
2006/11/27 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
javascript 打印页面代码
2009/03/24 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
Promise扫盲贴
2019/06/24 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
21行Python代码实现拼写检查器
2016/01/25 Python
一道python走迷宫算法题
2018/01/22 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
python 修改本地网络配置的方法
2019/08/14 Python
Python Gitlab Api 使用方法
2019/08/28 Python
详解Python中import机制
2020/09/11 Python
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
空乘英文求职信
2014/04/13 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL