php addslashes 在预定义字符之前添加反斜杠

时间:2016-01-25
php addslashes函数用于在预定义字符之前添加反斜杠,addslashes函数经常用来处理向数据库中插入的字符串。本文章向大家讲解php addslashes函数的基本使用方法和实例。需要的码农可以参考一下。

php addslashes 函数使用反斜线引用字符串

基本语法

addslashes(string)

返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。 例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。 强烈建议使用 DBMS 指定的转义函数 (比如 MySQL 是 mysqli_real_escape_string() ,PostgreSQL 是 pg_escape_string() ),但是如果你使用的 DBMS 没有一个转义函数,并且使用 \ 来转义特殊字符,你可以使用这个函数。 仅仅是为了获取插入数据库的数据,额外的 \ 并不会插入。 当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。

PHP 5.4 之前 PHP 指令 magic_quotes_gpc 默认是 on, 实际上所有的 GET、POST 和 COOKIE 数据都用被 addslashes() 了。 不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes() ,因为这样会导致双层转义。 遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 

参数介绍:

参数 描述
string 必需。要转义的字符。

返回值

返回转义后的字符。 

实例:

<?php
$str  =  "Is your name O'reilly?" ;
 // 输出: Is your name O\'reilly?
 echo  addslashes ( $str );
?>