1

最近从 PHP 开始使用 MySQL,我想知道这个:

  • mysql_real_escape_string()在脚本中多次使用对性能有何影响?
  • 是否值得尝试减少给定脚本对该函数的调用次数?
  • 是确定每次调用连接的字符集,还是缓存这个值?

如果需要一个场景,我正在考虑 PHP,以及文本和数字之间的区别,其中数字(使用intval()floatval()直接转换)可以在没有调用的情况下包含在内。

4

2 回答 2

4

不要一分钱一分货。

您的问题属于微优化领域。创建所需的索引或缓​​存一些查询结果将比担心几次调用对mysql_real_escape_string().

顺便说一句,类型转换 with(int) $variable比 call 稍微快一点intval($variable)。但这也将是一个微优化。

于 2010-09-04T02:54:37.230 回答
2

如果您需要在进入数据库之前转义用户输入,那么您将不得不使用mysql_real_escape_string()... 不要太担心过早的优化。

或者,您可以查看准备好的语句,这样您就不必多次调用此函数 - 而且它更安全,因为它将 SQL 逻辑与用户输入完全分开。

于 2010-09-04T02:50:44.903 回答