Php 从MySQL打印文本

Php 从MySQL打印文本,php,html-entities,Php,Html Entities,当我显示mysql注释字段中的文本时,我在php中使用以下函数: nl2br(html_entity_decode($comment['message'])) 在我使用的查询中插入数据库时: htmlentities($_POST['message']) 问题是,当我写一个像“你好”这样的句子并显示出来时,它会显示:“你好” 我怎样才能避免这种情况 提前谢谢 更新: 以下是插页: $query = "INSERT INTO db.tablon (pID, userID, message, d

当我显示mysql注释字段中的文本时,我在php中使用以下函数:

nl2br(html_entity_decode($comment['message']))
在我使用的查询中插入数据库时:

htmlentities($_POST['message'])
问题是,当我写一个像“你好”这样的句子并显示出来时,它会显示:“你好”

我怎样才能避免这种情况

提前谢谢

更新:

以下是插页:

$query = "INSERT INTO db.tablon (pID, userID, message, date_inserted, answer)
                VALUES (:proyectoID, :userID, :mensaje, NOW(), :respuesta_mensaje_id)";
    $stmt  = $pdo->prepare($query);
    $stmt->bindParam(':userID',     $userID,                    PDO::PARAM_STR);
    $stmt->bindParam(':proyectoID', $_POST['pID'],              PDO::PARAM_STR);
    $stmt->bindParam(':mensaje',    htmlentities($_POST['respuesta_tablon']), PDO::PARAM_STR);
    $stmt->bindParam(':respuesta_mensaje_id',   $_POST['mID'],  PDO::PARAM_STR);
    $res = $stmt->execute();
为mysql逃离他们

$mysqli->real_escape_string($_POST['message']);

mysqli_real_escape_string($link,$_POST['message']);

您的服务器必须已启用魔法报价。禁用该设置。我已经阅读了链接,并指出从PHP5.4中该函数已被删除,我使用PHP5.4.3。您可以发布用于插入的代码吗?好的,您是绑定的。我想这可能是为了清理数据。我从来没有在magic quotes之外或由开发人员编写时看到过这种行为。即使我删除了htmlentities函数,结果也是一样的。好奇!