微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php 深入理解addslashes函数

PHPaddslashes函数的作用是在预定义的字符前面加上反斜杠,这些预定义字符包括

单引号(')

双引号(")

反斜杠()

NULL

addslashes函数经常使用在向数据库插入数据时,比如有一个字符串

$str="my name's wxp";

现在要将这个字符串插入到数据库表中,由于该字符串有单引号',这样很可能与MysqL拼接字符串的单引号'冲突,导致sql语句不正确,也就无法正常执行插入操作,此时我们需要使用addslashes函数处理这个字符串。如:

$str="my name's wxp";

echo addslashes($str);//输出my name's wxp

然后在拼接MysqL字符串:

$sql="insert into student(student_name)values('".addslashes($str)."')";

MysqL_query($sql);

此时字符串被插入到数据库,那么大家是否知道插入的字符串是带反斜杠还是不带反斜杠呢?恐怕很多人都会认为肯定是带反斜杠的字符串。其实这个答案是错误的,插入的字符串是没有带反斜杠。至于为什么插入的字符串在数据库中是没有加反斜杠,请大家继续看下面讲解。

如果字符串$str="my name's wxp"是使用POST和GET提交的数据,这个时候插入数据库中的数据是带反斜杠的,由此可知addslashes只是在POST和GET数据插入数据库时才会把反斜杠同时插入到数据库,其他情况下不会将反斜杠插入到数据库

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

相关推荐