最近在使用MySQL时,我对此感到好奇:
mysql_real_escape_string()对性能有什么影响?如果需要一个场景,我正在考虑PHP,以及文本和数字之间的区别,其中数字(使用intval()、floatval()或直接转换)可以不需要调用就包括在内。
发布于 2010-09-04 02:54:37
不要吝啬,也不要愚蠢。--
你的问题是在微观优化领域。创建所需的索引或缓存某些查询结果比担心几次对mysql_real_escape_string()的调用对性能的影响要大得多。
顺便说一句,使用(int) $variable进行类型转换比调用intval($variable)稍微快一些。但这也是一个微观优化。
发布于 2010-09-04 02:50:44
如果您需要在数据库输入之前转义用户输入,那么您必须使用mysql_real_escape_string() .不要太担心过早的优化。
或者,您可以查看准备好的语句,这些语句将使您不必多次调用此函数--而且它更安全,因为它将SQL逻辑与用户输入完全分离开来。
https://stackoverflow.com/questions/3640678
复制相似问题