800兆技术
php反斜杠相关问题及其函数(与入库有关)
最后修改时间:2012年10月19日 22:57:16

addslashes()函数

addslashes()函数在指定的预定义字符前添加反斜杠,能解决带单引号(')、双引号(")或者反斜杠(\)的字符串不能入库的问题。

这些预定义字符是:

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

语法:addslashes(string) 参数 描述 string 必需。规定要检查的字符串。

提示和注释

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。

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

例子

在本例中,我们要向字符串中的预定义添加反斜杠:

<?php

$str = "Who's John Adams?";

echo $str . " This is not safe in a database query.";

echo addslashes($str) . " This is safe in a database query.";

?>

输出:

Who's John Adams? This is not safe in a database query.Who\'s John Adams? This is safe in a database query.

stripslashes() 函数

stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。

语法stripslashes(string) 参数 描述 string 必需。规定要检查的字符串。

提示和注释

注释:该函数用于清理从数据库或 HTML 表单中取回的数据。

例子

<?php stripslashes("Who\'s John Adams?");?>

输出:

Who's John Adams?