<p >if(!function_exists('_addslashes')){<br />
function _addslashes($str){<br />
if(get_magic_quotes_gpc()){<br />
return $str;<br />
}<br />
else{<br />
return addslashes($str);<br />
}<br />
}<br />
}</p>
<p ></p>
<h1 ><a name="function.addslashes"></a>addslashes</h1>
<div class="refnamediv" ><a name="AEN161948"></a>
<p>(PHP 3, PHP 4, PHP 5)</p>
addslashes--使用反斜线引用字符串</div>
<div class="refsect1" ><a name="AEN161951"></a>
<h2>描述</h2>
string<span class="Apple-converted-space"></span><b class="methodname">addslashes</b><span class="Apple-converted-space"></span>( string str )<br />
<br />
<p>返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(<var class="literal">'</var>)、双引号(<var class="literal">"</var>)、反斜线()与 NUL(<tt class="constant"><b><font face="NSimsun">NULL</font></b></tt><span class="Apple-converted-space"></span>字符)。</p>
<p>一个使用<span class="Apple-converted-space"></span><b class="function">addslashes()</b><span class="Apple-converted-space"></span>的例子是当你要往数据库中输入数据时。例如,将名字<span class="Apple-converted-space"></span><var class="literal">O'reilly</var><span class="Apple-converted-space"></span>插入到数据库中,这就需要对其进行转义。大多数据库使用<span class="Apple-converted-space"></span>作为转义符:<var class="literal">O'reilly</var>。这样可以将数据放入数据库中,而不会插入额外的<span class="Apple-converted-space"></span>。当 PHP 指令<span class="Apple-converted-space"></span><a href="mk:@MSITStore:C:Documents%20and%20SettingsAdministrator桌面手册php手册.chm::/fancy/ref.sybase.html#ini.magic-quotes-sybase">magic_quotes_sybase</a><span class="Apple-converted-space"></span>被设置成<span class="Apple-converted-space"></span><var class="literal">on</var><span class="Apple-converted-space"></span>时,意味着插入<span class="Apple-converted-space"></span><var class="literal">'</var><span class="Apple-converted-space"></span>时将使用<span class="Apple-converted-space"></span><var class="literal">'</var><span class="Apple-converted-space"></span>进行转义。</p>
<p>默认情况下,PHP 指令<span class="Apple-converted-space"></span><a href="mk:@MSITStore:C:Documents%20and%20SettingsAdministrator桌面手册php手册.chm::/fancy/ref.info.html#ini.magic-quotes-gpc">magic_quotes_gpc</a><span class="Apple-converted-space"></span>为<span class="Apple-converted-space"></span><var class="literal">on</var>,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行<span class="Apple-converted-space"></span><b class="function">addslashes()</b>。不要对已经被<span class="Apple-converted-space"></span><a href="mk:@MSITStore:C:Documents%20and%20SettingsAdministrator桌面手册php手册.chm::/fancy/ref.info.html#ini.magic-quotes-gpc">magic_quotes_gpc</a><span class="Apple-converted-space"></span>转义过的字符串使用<span class="Apple-converted-space"></span><b class="function">addslashes()</b>,因为这样会导致双层转义。遇到这种情况时可以使用函数<span class="Apple-converted-space"></span><a href="mk:@MSITStore:C:Documents%20and%20SettingsAdministrator桌面手册php手册.chm::/fancy/function.get-magic-quotes-gpc.html"><b class="function">get_magic_quotes_gpc()</b></a><span class="Apple-converted-space"></span>进行检测。</p>
<p>
<table class="EXAMPLE" border="0" cellspacing="0" cellpadding="0" width="100%" >
<tbody>
<tr>
<td >
<div class="example"><a name="AEN161982"></a>
<p><b>例子 1.<span class="Apple-converted-space"></span><b class="function">addslashes()</b><span class="Apple-converted-space"></span>示例</b></p>
<table border="0" cellpadding="5" bgcolor="#e0e0e0" >
<tbody>
<tr>
<td ><code><font color="#000000"><font face="NSimsun"><font color="#0000bb"><?php<br />
$str<span class="Apple-converted-space"></span></font><font color="#007700">=<span class="Apple-converted-space"></span></font><font color="#dd0000">"Is your name O'reilly?"</font></font><font color="#007700" face="NSimsun">;<br />
<br />
</font><font face="NSimsun"><font color="#ff8000">// 输出:Is your name O'reilly?<br />
</font><font color="#007700">echo<span class="Apple-converted-space"></span></font><font color="#0000bb">addslashes</font><font color="#007700">(</font><font color="#0000bb">$str</font></font><font face="NSimsun"><font color="#007700">);<br />
</font><font color="#0000bb">?></font></font></font></code></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</p>
</div>