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() 进行检测。
如果你需要查询数据库中的数据,并且该数据可能含有单引号,用同样的方法处理。
你写文章总是那么通俗易懂~
因为我写的都是小白文。。。