在用户提交表单的时候,有的用户会提交一些特殊字符,比如单引号双引号,此时,如果直接按正常字符串插入数据库的话,可能会出现无法正确插入数据库。对于表单里面的特殊字符,php提供了一个函数mysql_real_escape_string,这个函数可以将特殊字符转义。
//转义字符串,以便在sql中使用
$str=mysql_real_escape_string("my name's zhangsan");
mysql_query("insert into table (field1) values ('".$str."')");
最终执行的sql是:insert into content (content) values ('my name\'s zhangsan')
此时,存储在数据库里面的字符串是“my name's zhangsan”,并不是 “my name\'s zhangsan”,如果要将这个字符串输出到html页面上来,读取数据后,不需要使用stripslashes()函数将反斜杠去掉,因为本身存储到这个字段里面的就没有转义字符'\'。