PHP MySQL 输入 HTML 标签
我有一个 PHP MySQL 数据库,我将在其中存储所有信息。我在 HTML 页面上有一个文本字段,用户可以向其中添加数据,然后在提交 MySQL 查询时将此信息插入数据库中。相当标准的东西。
然而,我现在可以将 TinyMCE 或 FCKEditor 附加到我的文本字段(现在是文本区域)。我的问题是:考虑到标签会影响MySQL查询,并且剥离任何标签都会影响所述信息在另一个页面上的显示,我现在如何将此信息存入数据库?
我知道 strip_tags 和类似的 PHP 功能,但我的问题不在于 PHP,而在于 MySQL 的数据库输入,任何 " 或 ' 或 ; 都会破坏查询并在输入删除任何标签之前删除这些标签用户所做的格式增强。
我还假设,如果我使用 mysql_real_escape_string,我需要在显示数据之前删除斜杠 - 这也会将所有斜杠从结束标记中删除: ,
等等
I have a PHP MySQL database which I will be storing all my information in. I have a text field on a HTML page that the user can add data to and then on submit a MySQL query inserts this information into a database. Pretty standard stuff.
However, I am now in a position where I can attach a TinyMCE or FCKEditor onto my text field (now a text area). My question is: How do I get this information into the database now, taking into account that the tags will affect the MySQL query, and stripping any tags would impair the display of said information on another page?
I know about strip_tags and similar PHP features but my problem isn't going to be with the PHP it's going to be with the database input with MySQL, any " or ' or ; will break the query and removing these tags before input would remove any format enhancements the user has made.
I am under the assumption also, that if I use mysql_real_escape_string I would need to strip the slashes before I display the data - and this would take all the slashes out of the close tags as well: ,
etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在将值插入 SQL 语句之前,您需要转义该值。如果您使用 mysql 扩展,则可以使用 mysql_real_escape_string 来执行此操作:
它会转义引号等字符,因此您可以安全地将值插入数据库中。
You need to escape the value before you insert it in your SQL statement. If you use the mysql extension, you use the
mysql_real_escape_string
to do this:It escapes characters such as quotation marks, so you can safely insert the value in database.
看看这个:
http://php.net/manual/ en/function.mysql-real-escape-string.php
Look at this:
http://php.net/manual/en/function.mysql-real-escape-string.php