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