mysql_real_escape_string все еще показывает \ - PullRequest
0 голосов
/ 17 января 2012

Я пытаюсь безопасно добавить сообщение, но я не смогу добавить апострофы для таких слов, как «нет».Когда я использую приведенный ниже код, он добавляет его в базу данных как «не \», но когда я хочу отобразить его, я хочу, чтобы он показывал «не».Оглядываясь вокруг, многие люди говорят, что вам не нужно больше ничего делать, просто звоните из базы данных, а другие говорят, что делают другие вещи.Очевидно, я не могу просто оставить его, потому что он по-прежнему отображается как "не \" 1001

$stmt = db::connect()->prepare("INSERT INTO Posts (postedByUserID, postTitle, postCatID, postDate, postContent) VALUES ( ?, ?, ?, ?, ?)");
$stmt->bind_param('isiss', $inUserID, mysql_real_escape_string($inPostTitle), $inPostCatID, $postDate, mysql_real_escape_string($inPostContent));
$stmt->execute();

Ответы [ 2 ]

3 голосов
/ 17 января 2012

Насколько я понимаю, вам не нужно избегать этого, если вы используете стиль ввода bind_param для базы данных.Он избежит его для вас - по сути, вы избежали его дважды?

0 голосов
/ 17 января 2012

Используйте htmlentities ($ postVariable) перед передачей его в свою базу данных. Когда вы извлекаете его из базы данных, используйте html_entity_decode ($ postVariable), и он должен отображать «не» правильно.

...