The best way to store &(Ampersand) in MySQL database

社会主义新天地 提交于 2019-11-29 11:05:19

Using '&' saves a few bytes. It is not a special character for MySQL. You can easily produce the & for output later with PHP's method htmlspecialchars(). When your field is meant to keep simple information, you should use plain text only, as this is in general more flexible since you can generate different kinds of markup etc. later. Exception: the markup is produced by a user whose layout decisions you want to save with the text (as in rich-text input). If you have tags etc. in your input, you may want to use & for consistency.

You should store it as &amp; only if the field in the DB contains HTML (like <span class="bold">some text</span> &amp; more). In which case you should be very careful about XSS.

If the field contains some general data (like an username, title... etc) you should only escape it when you put it in your HTML (using htmlentities for example).

ryno

Storing it as &amp; is an appropriate method. You can echo it or use it in statements as &amp;.

Dave S

We store '&' into database fields all the time, it's fine to do so (at-least I've never heard an argument otherwise).

If you're only ever using the string in a HTML page you could just store the HTML safe &amp; version I suppose. I would suggest that storing '&' and escaping it when you read it would be better though (in-case you need to use the string in a non-HTML context in the future).

Use &amp; if you want to have a valid HTML or avoid problems, like cut&copy (browser shows it as cut©).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!