QUOTE()
在 MySQL 中,和之间有什么区别mysql_real_escape_string()
?从 MySQL 文档中,我知道以下内容:
引用()
- 写入SQL查询
- 转义反斜杠、单引号、NUL、CTRL+Z
- 返回一个单引号字符串
- 行为依赖于 MySQL 服务器的字符集
mysql_real_escape_string()
- 在执行查询之前用 C/C++ 编写,允许在提交之前读取/修改转义的字符串
- 相比起来使用起来非常不方便
QUOTE()
- 转义反斜杠、单引号、NUL、CTRL+Z 和双引号、\n 和 \r
- 显然添加了更多引号以使字符在日志文件中易于阅读
- 行为依赖于 MySQL 服务器的字符集
忽略日志,转义\n
和\r
字符有用吗?有了这两个功能,客户端/服务器功能效率有区别吗?mysql_real_escape_string()
如果开发人员希望在将转义字符串输入查询之前对其进行处理,这听起来很有用。但是,不QUOTE()
提供最安全可靠的字符串转义方法吗?
我想知道我是否应该使用QUOTE()
所有语言的所有查询并忘记使用特定于语言的函数转义字符串。