【发布时间】:2009-11-12 15:13:45
【问题描述】:
我试图弄清楚为什么这个功能不能正常工作。
每次我编辑我的条目时,它都会添加一个额外的\。
在线服务器有以下设置:
magic_quotes_gpc On
magic_quotes_runtime Off
magic_quotes_sybase Off
代码如下:
function esc($s)
{
if (get_magic_quotes_gpc()) {
if (ini_get('magic_quotes_sybase'))
$s = str_replace("''", "'", $s);
else
$s = stripslashes($s);
} //if
return mysql_real_escape_string($s);
}
编辑注释:
我已经尝试完全删除此函数以查看它的作用......它做同样的事情,所以我意识到addslashes 也在代码中用于同样的事情。
额外的\ 在那里,因为magic_quote 是ON
【问题讨论】:
-
你的意思是你得到了额外的反斜杠,例如"你的函数的返回字符串是这样的"
-
是的,每次保存都会添加一个\
-
@Dukeling 请停止。魔术引号是一个比魔术引号 gpc 更通用的术语。如果您想参与那么多,只需添加一个同义词即可。
-
@YourCommonSense 是的,我现在意识到magic-quotes 的大部分问题实际上都是关于 PHP 的。我不能建议一个同义词,因为我没有 5 个标签的声誉。 Related Meta discussion.
标签: php mysql escaping stripslashes magic-quotes