2

textarea 帖子在有或没有“\”的情况下得到不同的结果?

相同的代码在不同的电脑上运行,得到不同的结果

我的系统是xp,我发布textarea并打印它,结果有“\”befror',但我在其他人的电脑上运行它,结果没有返回“\”。
这种不同的结果导致当我插入mysql时,当sql没有“\”时返回错误
为什么会发生这种情况?怎么修 ?

<pre>
<?php
print_r($_POST);
 ?>
</pre>
<form method="post">
    <textarea name="content" id="" cols="30" rows="10">This is kate's book</textarea>
    <input type="submit" />
</form>

在我的电脑中,获取:

this is kate\'s book

在其他情况下,得到:

this is kate's book

添加htaccess就可以了

php_flag magic_quotes_gpc 1
4

2 回答 2

3

这里的问题来自magic_quotes_gpc您的 php.ini 中的设置。你必须把它关掉:这个东西是纯粹的邪恶(并且已被弃用)。它会自动“转义”您的数据。

但是,您仍然希望它逃脱。最好的方法是使用PDO和准备好的请求。

于 2013-08-08T01:14:19.147 回答
1

您和您朋友的计算机之间的 php 配置可能不同。尝试使用 php 函数 stripslashes。

$var = stripslashes($another_var);
于 2013-08-08T01:16:25.937 回答