在mysql_real_escape_string之后,撇号在Twitter中出现,带有前面的反斜杠

时间:2011-08-15 10:35:51

标签: php mysql twitter mysql-real-escape-string

在下面的代码中,第二行将$comment发布到Twitter。

当下面的$comment包含撇号时,它们会在Tweet中以反斜杠开头。我如何摆脱Twitter中的反斜杠?

$comment = mysql_real_escape_string($_POST['comment']);

$tweet->post("statuses/update", array("status" => "$comment $fullurl"));

2 个答案:

答案 0 :(得分:3)

所有这些都没有可见的SQL,因此调用mysql_real_escape_string没有意义。事实上,既然你说你在Twitter上发帖,我怀疑你身边是否有所有的(至少不属于那个部分)。

在SQL语句中实际使用变量之前,应该始终将Escaping作为最后一件事,立即,并且用于该SQL语句的上下文。如果你的$tweet->post函数也支持一些SQL,那么让该函数执行必要的转义。

答案 1 :(得分:2)

在PHP conf中,magic_quotes可能设置为on?见manual

你也可以

$comment = mysql_real_escape_string(stripslashes($_POST['comment']));