2611-12

分类:Javascript+css, 技术文章作者:小飘 评论次数:2

解决php中数据库里插入单引号的方法-使用addslashes、magic_quotes_gpc函数

php中往数据库中插入数据的时候,我们都要给插入的数据带上单引号,一对单引号括起来了一个值,但是如果值本身含有单引号,那值就被提早结束了,后面的字符就是非法的sql语句了。程序到这里当然就会报错了。解决这个问题有两个函数可以使用,分别是addslashes函数,magic_quotes_gpc函数。

语法:addslashes(string)


addslashes函数的功能为给单引号(‘),双引号(“),反斜杠(\),NULL前面加上反斜杠。


例如

$test = "mother's lovey shirt";
echo addslashes($test);

显示结果:

mother\'s lovey shirt

另一个函数
magic_quotes_gpc()

该函数对所有的GET、POST 和 COOKIE 数据自动运行 addslashes(),在页面中执行magic_quotes_gpc()函数后,所有的上述几种数据都被执行了addslashes(),非常方便。
注意:默认情况下,PHP 指令 magic_quotes_gpc 为 on。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

如果你需要查询数据库中的数据,并且该数据可能含有单引号,用同样的方法处理。

2条评论
  1. lancer 说:

    你写文章总是那么通俗易懂~

    POST:2012-01-03 19:54 回复
    • 小飘 说:

      因为我写的都是小白文。。。

      POST:2012-01-03 21:07 回复
发表评论

必填

必填