mysql数据库插入特殊字符的问题?

mysql数据库插入特殊字符的问题?,第1张

加上反斜杠,就是对

'

或者

"

的,可以用

\'

\''

替换

\"\'12><>》;

一般如果是在php程序上进行插入数据库的话,可以先做个处理

$str='

"'12><>》;

'

if(!get_magic_quotes_gpc()){

$str=addslashes($str)

//addslashes这个函数会对字符串进行处理,即对

'

或者

"

的,用

\'

\''

替换

}

php中addslashes函数与sql防注入。具体分析如下:

addslashes可会自动给单引号,双引号增加\\\\\\,这样我们就可以安全的把数据存入数据库中而不黑客利用,参数'a..z'界定所有大小写字母均被转义,代码如下:

复制代码 代码如下:

echo addcslashes('foo[ ]','a..z')//输出:foo[ ]

$str="is your name o'reilly?"//定义字符串,其中包括需要转义的字符

echo addslashes($str) //输出经过转义的字符串

定义和用法:addslashes() 函数在指定的预定义字符前添加反斜杠.

这些预定义字符是:单引号 ('),双引号 ("),反斜杠 (),null

语法:addslashes(string),当然这个函数更安全,实例代码如下:

复制代码 代码如下:

$str="<a href='test'>test</a>"//定义包含特殊字符的字符串

$new=htmlspecialchars($str,ent_quotes) //进行转换 *** 作

echo $new //输出转换结果

//不过输出时要用到

$str="jane &'tarzan'" //定义html字符串

echo html_entity_decode($str) //输出转换后的内容

echo "<br/>"

echo html_entity_decode($str,ent_quotes)//有可选参数输出的内容


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5916546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存