在MySQL数据库中存储&(Ampersand)的最佳方法

时间:2012-07-28 20:01:53

标签: php mysql html ampersand

我正在构建一个类别列表,我不确定如何存储Ampersand符号 在MySQL数据库中。如果我使用'&',是否有任何问题/不利条件。有什么不同吗? 以html格式使用它'&amp'

5 个答案:

答案 0 :(得分:5)

使用'&'节省几个字节。它不是MySQL的special character。您可以使用PHP的方法htmlspecialchars()轻松生成&以便稍后输出。当您的字段用于保存简单信息时,您应该仅使用纯文本,因为这通常更灵活,因为您可以在以后生成不同类型的标记等。例外:标记由用户生成,其布局决策要与文本一起保存(如在富文本输入中)。如果输入中有标签等,则可能需要使用&来保持一致性。

答案 1 :(得分:3)

只有当数据库中的字段包含HTML(如&amp;)时,才应将其存储为<span class="bold">some text</span> &amp; more。在这种情况下,您应该非常小心XSS

如果该字段包含一些常规数据(如用户名,标题等),则只应在将其放入HTML中时将其转义(例如,使用htmlentities)。

答案 2 :(得分:2)

将其存储为&amp;是一种合适的方法。您可以回复它或在&amp;语句中使用它。

答案 3 :(得分:2)

我们存储'&amp;'一直到数据库领域,这样做很好(至少我从来没有听过其他的论点)。

如果您只是在HTML页面中使用该字符串,则可以存储我认为的HTML安全&amp;版本。我建议存储'&amp;'并且当你阅读它时逃避它会更好(如果你将来需要在非HTML上下文中使用该字符串)。

答案 4 :(得分:1)

如果您想拥有有效的HTML或避免出现问题,请使用&amp;,例如cut&copy(浏览器shows itcut©)。