php插入数据含有特殊符号的处理方法

编程入门 行业动态 更新时间:2024-10-22 08:43:55

php插入数据含有<a href=https://www.elefans.com/category/jswz/34/1767013.html style=特殊符号的处理方法"/>

php插入数据含有特殊符号的处理方法

转自:.html

我们在向mysql写入数据时,比如:

mysql_query (”update table set `title` = ’kuhanzhu’s blog’”);

 .html

 

  那就会出错。同asp时一样,数据库都会对单引号过敏。而addslashes在这个时候就最长面子了,跟asp的replace(”‘”,”””,”kuhanzhu’s blog”)功能一样。

PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境。

当magic_quotes_gpc = On时,使用了addslashes()处理后的数据在数据库中将以\’形式保存,如果此时直接输出的话,就会发现比自己期待的内容多了个\,因此stripslashes()出场了,它能把\去掉(区别于str_replace(”\”, “”,$Str))。

当magic_quotes_gpc = Off时,使用了addslashes()处理后的数据在数据库中将以’形式保存,没有上面说的有\的问题,addslashes()起到插入数据不出错的作用,如果此时直接输出的话,数据正常。不需要再用stripslashes()。

addslashes()和stripslashes()正好是相反的,直接记忆:addslashes()加个\,stripslashes()去个\

那么什么时候用呢?

简单说:

当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 = addslashes (”这里面是数据,不管有没单引号或者还是变量”);

// 插入数据到数据库,代码省略

//开始显示数据

$Content = ”从数据库读取的数据”;

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

echo   $Content ;

更多推荐

php插入数据含有特殊符号的处理方法

本文发布于:2023-07-01 07:36:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/972712.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:特殊符号   方法   数据   php

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!