【问题标题】:Html values from mysql don't return correctly来自 mysql 的 Html 值无法正确返回
【发布时间】:2010-08-03 11:30:43
【问题描述】:

我尝试过 addlashes、mysql_escape_string 和 mysql_real-escape_string。他们都没有工作,我不知道还能尝试什么

【问题讨论】:

  • 他们的回归情况如何?您希望他们如何回归?需要更多信息。
  • 你想要什么,你得到什么?

标签: php mysql html


【解决方案1】:

addslashes()、mysql_escape_string() 和 mysql_real_escape_string() 只转义引号以防止 SQL 注入。例如:

<?php
$string = 'He said, "Do not quote me!"';
mysql_real_escape($string);
// string becomes: 'He said, \"Do not quote me!\"'

我猜你的问题在于小于 ()。

如果您尝试选择行,然后显示 HTML 以进行渲染,那么您只需回显原始 HTML 就可以了(减去任何 XSS 安全问题)。但是,如果您尝试在表单的输入框中显示 HTML,则需要将文字 符号替换为其实体等效项()。

【讨论】:

  • 这里现在有一个数据库条目,所以你可以看到我在这里遇到的问题。它与大于或小于根本无关。

    嘿,

    怎么样?我为你准备了几处房产。我们什么时候可以去看看?

  • 这是插入数据库的内容还是选择行时返回的内容?此外,看起来这些符号与换行符相关?在提交此数据的页面/表单上,它是否设置为 UTF8(在 HTML 文档类型的顶部)?数据库是否设置为接受该字符集?还是设置为 Latin-1 之类的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-06
相关资源
最近更新 更多