Php 在mysql\u real\u escape\u字符串出现问题之前

Php 在mysql\u real\u escape\u字符串出现问题之前,php,Php,我将举一个我的问题的小例子。这个代码在6小时前是完美的,但现在有一些问题,我不知道它是什么 这是我的小php。我能发现问题是mysql\u real\u escape\u string,但我不知道如何快速修复这个该死的问题 <?php // database connection require_once 'includes/inc/config.php'; $date = new DateTime(); $newtime = $date->format('U'); // we ar

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

这是我的小php。我能发现问题是mysql\u real\u escape\u 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')");
    }
}
?>

这篇短文显示在我的每一页上

这是我的输出结果

这是一个破碎的图像,在它没有破碎之前,你知道发生了什么吗

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


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

上述行为是正确的行为。所讨论的功能

mysql_real_escape_string

用于以特定方式清理MySQL数据库中的输入,以便在插入、更新等操作时不会出错。

这是的预期行为。以前发生了什么?转义内容的想法是清理用户输入。如果你清理一个字符串并从脚本中输出它,它看起来会完全一样。转义是使用用户输入来运行查询,而不是在查询之后。您是否有神奇的引号?解决方案,停止使用不推荐使用的库mysql\u*,并使用准备好的语句移动到MySQLi或PDO。@DeepakKumar问题不在于
mysql\u real\u escape\u string
。问题在于你对结果做了什么
mysql\u real\u escape\u string
的唯一用途是用于SQL查询。就这样。在SQL查询之外使用其结果是不正确的。
mysql_real_escape_string