精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

在PHP中,很多时候我们需要对写入数据库的特殊字符进行转义,因为每个数据库都有不同的特殊字符,当数据库遇到这些字符的时候,代表着不同的意义,比如MYSQL中的单引号('),若不经转义就写入数据库,很容易导致MYSQL出错。

在PHP中,提供有专门用于转义的内置函数,它就是addslashes(),下面说下具体用法:

语法: string addslashes(string str); //str为含有需转义字符的字符串

假设$content为表单中提交来的文章内容,里面含有'这个字符,因MYSQL对此字符较敏感,所以我们在将$content插入数据之前进行转义,具体代码为:

$content=addslashes($_POST['content']);

这样转义后,$content中的'变成了\',也就是addslashes()函数为其增加了一个反斜扛“\”,这样转义后再存入MYSQL,就不会出错了,当然,加入此字符并不改变原有的$content,当读取出来的时候,内容中并没有“\'”。

在实际应用中,除了单引号 (')需要转义外,双引号 (")、反斜线 backslash (\) 以及空字符 NUL (the null byte)都需要转义,在有些PHP.ini中,若打开了 magic_quotes_gpc指令,那就不需要再使用addslashes()转义了,否则会造成二次转义,因此在使用前,你可确认PHP服务器中是否打开了magic_quotes_gpc指令,若不能确认,你可使用PHP中的 get_magic_quotes_gpc() 函数进行检测。

Tags:PHP chdir() 函数