今天在操作数据库的时候每次插入数据库的时候有时候会报错、有时候却可以顺利的操作。经过仔细的查找原来的字符没有转义的原因。
php向mysql数据库插入数据进行转义包括两方面的操作,第一方面需要在添加数据时通过数据转义将数据写入库中,第二方面在将数据显示在页面时需要再次将数据恢复为原始状态,即反转义。
数据转义:
mysql_escape_string($content)
反转义:
stripslashes($content)
以上两行代码即可实现php向mysql数据库插入数据转义操作。
get_magic_quotes_gpc()
在PHP中get_magic_quotes_gpc()函数是内置的函数,这个函数的作用就是得到php.ini设置中magic_quotes_gpc选项的值。
magic_quotes_gpc:
magic_quotes_gpc=On,PHP解析器就会自动为post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
关于addslashes()和stripslashes()的转义
addslashes() 在指定的预定义字符前添加反斜杠。
预定义字符包括单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)。
以上是W3SCHOOL.COM.CN给出的解释俺一直觉的不是很准确
因为在magic_quotes_sybase=on时它将单引号(’)转换成双引号(“) 在magic_quotes_sybase=off时才将单引号(‘)转换成(\’)
stripslashes()函数的功能与addslashes()正好相反,它的功能是去除转义的效果。
html转义:
htmlentities() 把字符转换为 HTML 实体。其逆反的函数html_entity_decode() -把 HTML 实体转换为字符。
如果你有外贸企业网站建站需求,欢迎随时联系我们
QQ客服:415682727
电话:020-39907297