>백엔드 개발 >PHP 튜토리얼 >최적화된 추가 기능

최적화된 추가 기능

WBOY
WBOY원래의
2016-07-25 09:07:12934검색
  1. function daddslashes($string, $force = 0) {
  2. if(!$GLOBALS['magic_quotes_gpc'] || $force) {
  3. if(is_array($string)) {
  4. foreach($string as $key => $val) {
  5. $string[$key] = daddslashes($val, $force);
  6. }
  7. } else {
  8. $string = addslashes($string);
  9. }
  10. }
  11. return $string;
  12. }
复制代码

说明: string addslashes ( string str ) 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)。

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O’reilly 插入到数据库中,这就需要对其进行转义。大多数据库使用 作为转义符:O’reilly。这样可以将数据放入数据库中,而不会插入额外的 。当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ‘ 时将使用 ‘ 进行转义。

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



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.