mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。
语法 mysql_real_escape_string(string,connection)
参数 | 描述 |
string | 必需。规定要转义的字符串。 |
connection | 可选。规定 MySQL 连接。如果未规定,则使用上一个连接。 |
比如我们要将字符串“my name's zhangsan”插入到数据库,如果按照下面方法写sql语句,sql语句会报错。
<code class="language-sql"> $str="my name's zhangsan"; mysql_query("insert into table (field1) values ('".$str."')");</code>
这样写会报错。 应为字符串里面的单引号与sql的单引号冲突了。
正确的写法是
<code>//转义字符串,以便在sql中使用 $str=mysql_real_escape_string("my name's zhangsan"); mysql_query("insert into table (field1) values ('".$str."')");</code>
此时,存储在数据库里面的字符串是“my name/'s zhangsan”, 如果要讲这个字符串正确的现实出来,需要在读取数据后,使用stripslashes()函数将反斜杠去掉。