MySQL 真实转义字符串

发布于 2024-10-11 05:44:18 字数 521 浏览 8 评论 0原文

我试图使用addslashes 和mysql_real_escape_string 清理PHP 登录的输入。使用addslashes可以,但mysql_real_escape_string则不行。

这是一个允许我正确登录的示例:

$user = addslashes($_POST['user']);<br/>
$password = addslashes($_POST['password']);

而这不会:

$user = mysql_real_escape_string($_POST['user']);<br/>
$password = mysql_real_escape_string($_POST['password']);

另外,我的其他一些字段包含撇号。使用addslashes 时不会返回任何内容,因为数据库中的条目不会被转义。我想知道使用 mysql_real_escape_string 是否可以解决这个问题,但我不知道如何解决。

I was trying to sanitize inputs to my PHP login using addslashes and mysql_real_escape_string. Using addslashes works, but mysql_real_escape_string will not.

Here's an example of what allows me to log in correctly:

$user = addslashes($_POST['user']);<br/>
$password = addslashes($_POST['password']);

And this will not:

$user = mysql_real_escape_string($_POST['user']);<br/>
$password = mysql_real_escape_string($_POST['password']);

Also, some of my other fields contain apostrophes. Nothing is returned when using addslashes, since the entry in the DB isn't escaped. I was wondering if using mysql_real_escape_string could fix this, but I don't know how.

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

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

发布评论

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

评论(3

故事↓在人 2024-10-18 05:44:18

始终使用mysql_real_escape_string而不是addslashes。确保您运行之前已连接到数据库,否则会出错。

Always use mysql_real_escape_string instead of addslashes. Make sure you are connected to the database before running it otherwise you will error.

一紙繁鸢 2024-10-18 05:44:18

mysql_real_escape_string() 不会转义 % 和 _。如果与 LIKE、GRANT 或 REVOKE 结合使用,这些在 MySQL 中就是通配符。

最重要的是不要相信用户输入。

因此,使用 htmlspecialchars 和 strip_tags 可以获得更好的安全性。

mysql_real_escape_string() does not escape % and _. These are wildcards in MySQL if combined with LIKE, GRANT, or REVOKE.

And Most important thing is don't trust user input.

So, use htmlspecialchars and strip_tags for better security.

凌乱心跳 2024-10-18 05:44:18

有时用户可能会输入',这个符号但是sql将其视为不同的方式并让它不允许插入到表中,我们不能限制用户,因此我们使用MySQL真正的转义字符串来避免这种情况错误

注意:如果你实现这个,它应该连接到数据库,否则它将无法工作

Sometimes user may type ', this symbol but sql treat as an different way and let it not allow to insert in to tables,we cant restrict the user so that we use MySQL real escape string to avoid this kind of error

Note: if you implement this it should be connect to database else it wont work

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