问题描述
我在浏览文档时偶然发现了 mysql_real_escape_string(),但我不明白为什么它在您可以只使用 addlashes() 时很有用.有人可以向我展示一个关于它为什么有用的场景吗?
I was looking through the docs and stumbled onto mysql_real_escape_string() and I'm not understanding why it's useful when you can just addslashes(). Can someone show me a scenario as to why it's useful?
我也很好奇为什么它需要一个数据库连接......这似乎是一个很大的开销.
I'm also curious why it requires a database connection.... that seems like a lot of overhead.
推荐答案
这里有一篇很棒的文章. 还有这个 讨论 还指出了每种解决方案的优缺点.
There is a great article about this here. And this discussion also points out the pros and cons of each solution.
addslashes() 来自开发者PHP 而mysql_real_escape_string 使用底层 MySQL C++ API(即来自MySQL 的开发人员).mysql_real_escape_string 转义 EOF字符、引号、反斜杠、回车返回、空值和换行符.那里也是字符集方面.
这篇关于为什么使用 mysql_real_escape_string,addslashes 不会阻止一切吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!