您的位置:首页 > 编程语言 > PHP开发

PHP 使用 Mysqli 的 prepare 语句有什么好处?

2016-09-12 11:48 281 查看
http://zhidao.baidu.com/link?url=9C40AoCTrSNIfGCVB3nwTdOCs_M5SWBLfA-HsInPEFf16C5vfT-NixRdAW62YuO0cTX_RYANzrvONtj_YzzBIRHqMgaMGp-Y-dS8rXt15Ru

好处:
(1)解析查询只有一次
(2)执行一些查询优化步骤只有一次
(3)通过二进制协议发送参数比送他们为ASCII文本更有效
比如DATE,对于准备之后,发送日期只用3个字节;如果没有准备,日期必须以字符串的形式发送,需要数据库方再解析,这样需要发送10个字节。
(4)只有参数(不是整个查询文本)需要为每个执行要发送
(5)的MySQL直接存储parameteres到服务器上的缓冲区
(6)安全性也有帮助,就没有必要逃避或引用值。

坏处:
(1)本地到一个连接,以便另一个连接不能再使用
(2)不能使用MySQL查询缓存(5.1版本之前)
(3)不总是更有效,如果你使用它只有一次
(4)存储函数中不能使用(存储过程是可以的)
(5)有可能会导致“泄漏”如果你忘记释放它


PHP 使用 Mysqli 的 prepare 语句有什么好处?

终极至尊TA2543|
浏览 86 次2016-04-18 15:43

2016-05-26 11:08最佳答案

好处:
(1)解析查询只有一次
(2)执行一些查询优化步骤只有一次
(3)通过二进制协议发送参数比送他们为ASCII文本更有效
比如DATE,对于准备之后,发送日期只用3个字节;如果没有准备,日期必须以字符串的形式发送,需要数据库方再解析,这样需要发送10个字节。
(4)只有参数(不是整个查询文本)需要为每个执行要发送
(5)的MySQL直接存储parameteres到服务器上的缓冲区
(6)安全性也有帮助,就没有必要逃避或引用值。

坏处:
(1)本地到一个连接,以便另一个连接不能再使用
(2)不能使用MySQL查询缓存(5.1版本之前)
(3)不总是更有效,如果你使用它只有一次
(4)存储函数中不能使用(存储过程是可以的)
(5)有可能会导致“泄漏”如果你忘记释放它


本回答由电脑网络分类达人 张弢推荐
评论
00





BaLeNozq
采纳率:74%擅长:JavaScript数据库DB

其他回答

这是PHP官网的解释:

 

大致意思是说有两个好处:

可以通过驱动让服务端缓存查询计划,从而提高查询效率;

可以防止SQL注入,自动转义一些特殊字符.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: