是否有一些代码可以用来过滤字符串,将转义字符放在无效的 MySQL 字符前面?

发布于 2024-10-11 11:47:01 字数 102 浏览 6 评论 0原文

我正在网站上构建评论部分,我需要能够过滤字符串并转义无效字符?

是否有任何代码可以自动执行此操作并返回正确放置转义字符的字符串?

顺便说一句,我使用 PHP。

I'm building a comment section on my website and I need to be able to filter through strings and escape invalid characters?

Is there any code that can automate this and return a string with escape characters properly placed?

I use PHP btw.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无畏 2024-10-18 11:47:01

您想要 mysql_real_escape_string(),或者用 PDO 之类的东西绑定你的参数。

You want mysql_real_escape_string(), or bind your params with something like PDO.

夢归不見 2024-10-18 11:47:01

使用内置的 msyql_ 函数: mysql_real_escape_string

Use the built-in msyql_ functions: mysql_real_escape_string.

撞了怀 2024-10-18 11:47:01

使用绑定变量通常比仅仅转义字符串更好。

首先,我会重复一下党的路线,即你应该真正考虑学习使用数据库抽象层或 ORM,因为从长远来看这会更好。我将把关于使用哪个包(以及 PDO 的优点等)的圣战留给其他人。

如果您使用的是最新版本的 PHP,您应该拥有 MySQLi(MySQL 改进的扩展)。
此扩展允许绑定参数,如下所述:

http://php.net /manual/en/mysqli-stmt.bind-param.php

另请注意,虽然转义字符串是一个好的开始,但这还不够。

看:
是 htmlentities() 和 mysql_real_escape_string () 足以清理 PHP 中的用户输入吗?

Using bound variables is generally better practice than just escaping a string.

First I'll parrot the party line that you should really consider learning to use a database abstraction layer or ORM as this will be better in the long term. I'll leave the holy wars about which package to user for this (and the merits of PDO, etc..) to someone else.

If you're using a recent version of PHP you should have the MySQLi (MySQL improved extension).
This extension allows bound parameters as explained here:

http://php.net/manual/en/mysqli-stmt.bind-param.php

Also note that while escaping a string is a good start, it's NOT enough.

see:
Is htmlentities() and mysql_real_escape_string() enough for cleaning user input in PHP?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文