最近从 PHP 开始使用 MySQL,我想知道这个:
mysql_real_escape_string()
在脚本中多次使用对性能有何影响?- 是否值得尝试减少给定脚本对该函数的调用次数?
- 是确定每次调用连接的字符集,还是缓存这个值?
如果需要一个场景,我正在考虑 PHP,以及文本和数字之间的区别,其中数字(使用intval()
或floatval()
直接转换)可以在没有调用的情况下包含在内。
最近从 PHP 开始使用 MySQL,我想知道这个:
mysql_real_escape_string()
在脚本中多次使用对性能有何影响?如果需要一个场景,我正在考虑 PHP,以及文本和数字之间的区别,其中数字(使用intval()
或floatval()
直接转换)可以在没有调用的情况下包含在内。
不要一分钱一分货。
您的问题属于微优化领域。创建所需的索引或缓存一些查询结果将比担心几次调用对mysql_real_escape_string()
.
顺便说一句,类型转换 with(int) $variable
比 call 稍微快一点intval($variable)
。但这也将是一个微优化。
如果您需要在进入数据库之前转义用户输入,那么您将不得不使用mysql_real_escape_string()
... 不要太担心过早的优化。
或者,您可以查看准备好的语句,这样您就不必多次调用此函数 - 而且它更安全,因为它将 SQL 逻辑与用户输入完全分开。