存储mysql数据存在特殊字符时处理_转义存储数据时特殊符号
的处理
function url_ba64_encode($str){
//将这个⽅法处理后的数据可以存储,不会有特殊符号
if($str=="")
return "";
$code=ba64_encode($str);//$code='dHQ=';
$code=str_replace('+',"!",$code);//把所⽤"+"替换成"!"
$code=str_replace('/',",",$code);//把所⽤"/"替换成"*"
$code=str_replace('=',"",$code);//把所⽤"="删除掉
return $code;//$code='dHQ!'
}
function url_ba64_decode($code){
//将这个⽅法处理后的数据可以显⽰,不会有难识别的内容
if($code=="")
return "";
$code=str_replace("!",'+',$code);//把所⽤"+"替换成"!"
$code=str_replace(",",'/',$code);//把所⽤"/"替换成"*"
$str=ba64_decode($code); return $str;
}
>
php向mysql数据库插⼊数据进⾏转义包括两⽅⾯的操作,第⼀⽅⾯需要在添加数据时通过数据转义将数据写⼊库中,第⼆⽅⾯在将数据显
⽰在页⾯时需要再次将数据恢复为原始状态,即反转义。⼀、数据转义
mysql_escape_string($content)
⼆、反转义stripslashes($content)
以上两⾏代码即可实现php向mysql数据库插⼊数据转义操作。get_magic_quotes_gpc()在PHP中get_magic_quotes_gpc()函数是内置
的函数,这个函数的作⽤就是得到设置中magic_quotes_gpc选项的值。那么就先说⼀下magic_quotes_gpc选项:如果
magic_quotes_gpc=On,PHP解析器就会⾃动为post、get、cookie过来的数据增加转义字符“”,以确保这些数据不会引起程序,特
别是数据库语句因为特殊字符引起的污染⽽出现致命的错误。在magic_quotes_gpc=On的情况下,如果输⼊的数据有单引号(’)、双引号
(”)、反斜线()与 NUL(NULL 字符)等字符都会被加上反斜线。这些转义是必须的,如果这个选项为off,那么我们就必须调⽤addslashes
这个函数来为字符串增加转义。正 是因为这个选项必须为On,但是⼜让⽤户进⾏配置的⽭盾,在PHP6中删除了这个选项,⼀切的编程都
需要在 magic_quotes_gpc=Off下进⾏了。在这样的环境下如果不对⽤户的数据进⾏转义,后果不仅仅是程序错误⽽已了。同样的会引起
数据库被注⼊ ***的危险。所以从现在开始⼤家都不要再依赖这个设置为On了,以免有⼀天你的服务器需要更新到PHP6⽽导致你的程序不
能正常⼯作。当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1当magic_quotes_gpc=Off的时候,函数
get_magic_quotes_gpc()就会返回0因此可以看出这个get_magic_quotes_gpc()函数的作⽤就是得到环境变量magic_quotes_gpc的
值。既然在PHP6中删除了magic_quotes_gpc这个选项,那么在PHP6中这个函数我想也已经不复存在了。addslashes()addslashes()
函数在指定的预定义字符前添加反斜杠。这些预定义字符是:* 单引号 (')* 双引号 (")* 反斜杠 ()* NULL语法
addslashes(string)StripSlashes()去掉反斜线字符。语法: string stripslashes(string str);返回值: 字符串函数种类: 资料处理本函数可
去掉字符串中的反斜线字符。若是连续⼆个反斜线,则去掉⼀个,留下⼀个。若只有⼀个反斜线,就直接去掉。如果不知道有没有设置可以
这样做:
本文发布于:2023-05-24 11:27:03,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1684898824177208.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:存储mysql数据存在特殊字符时处理_转义存储数据时特殊符号的处理.doc
本文 PDF 下载地址:存储mysql数据存在特殊字符时处理_转义存储数据时特殊符号的处理.pdf
留言与评论(共有 0 条评论) |