После mysql_real_escape_string в Twitter появляются апострофы с предыдущей обратной косой чертой - PullRequest
0 голосов
/ 15 августа 2011

В приведенном ниже коде вторая строка отправляет $comment в Twitter.

Когда $comment ниже содержит апострофы, им предшествует в Твиттере обратный слеш.Как избавиться от обратной косой черты в Twitter?

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

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

Ответы [ 2 ]

3 голосов
/ 15 августа 2011

Во всем этом нет видимого SQL, поэтому нет смысла вызывать mysql_real_escape_string. На самом деле, поскольку вы говорите, что публикуете в Твиттере, я сомневаюсь, что на вашей стороне задействован какой-либо SQL вообще (по крайней мере, не для этой части).

Экранирование всегда должно выполняться как самая последняя вещь, немедленно перед фактическим использованием переменной в операторе SQL и только для контекста этого оператора SQL. Если ваша $tweet->post функция также выполняет SQL на вашей стороне, сделайте эту функцию необходимой для экранирования.

2 голосов
/ 15 августа 2011

Возможно, magic_quotes включены в PHP Conf?См. руководство

Вы также можете сделать

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