-1

我将举一个我的问题的小例子。这段代码在 6 小时前是完美的,但现在出现了一些问题,我不知道它是什么?

这是我的小 php。我能够找出问题是mysql_real_escape_string但我不知道如何快速解决这个问题。

<?php
// database connection
require_once 'includes/inc/config.php';
$date = new DateTime();
$newtime = $date->format('U');
// we are taking post_text = <img id="profile_pic" width="200px" height="600px" src="image/user/1.jpg">
if (isset($_POST['submit-post'])) {
    $content = mysql_real_escape_string($_POST['post_text']);
    if ($got != "" && $send != "" && strlen(trim(preg_replace('/\xc2\xa0/',' ',$content))) != 0) {
        $postnow = mysql_query("INSERT INTO `comment`(`send`,`got`,`content`,`time`) VALUES ('$send','$got','$content','$newtime')");
    }
}
?>

用于展示

<?php

require_once 'library/all/HTMLPurifier.auto.php';

// reading content which was saved when user posted comment
// getting it from database ex: <img id="profile_pic" width="200px" height="600px" src="image/user/1.jpg">

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$content = $purifier->purify($content); 

// and then echo

echo $content;

?>

这是我的帖子在每一页上显示的简短内容。

这是我得到的输出

这是破碎的形象,在它没有被打破之前,知道发生了什么吗?

<img id=\"profile_pic\" width=\"200px\" height=\"600px\" src=\"image/user/1.jpg\">

PS:这在本地主机上仍然可以正常工作。如果我的服务器提供商升级某些东西或类似的东西,我会有点困惑。我不知道。谢谢你们。

4

1 回答 1

6

上述行为是正确的行为。有问题的功能

mysql_real_escape_string

旨在以特定方式清理输入到 MySQL 数据库的输入,这样您就不会在 INSERT、UPDATE 等时出现错误。

于 2013-09-19T19:00:36.203 回答