【发布时间】:2012-06-19 12:32:43
【问题描述】:
我想知道 MySQL PREPARE/EXECUTE 子句和 PHP mysqli 准备/执行方法之间是否有任何区别?预防注射是好是坏?
我很好奇,因为我正在编写一些数据库存储过程,其中一个,表和属性在编译时是未知的。我可以将数据写成静态的,但是查询有点复杂,它只会用大量的控制逻辑使过程膨胀。但这让我开始思考这个问题,我只是想知道,当我只需要一个简单的语句时,我用动态 SQL 编写一个简短的过程还是只用 PHP 进行准备和绑定。
如果这是重复,我也很抱歉,当然欢迎链接到已回答的 SO 问题。但是,我一般在 google 上查看,并没有找到太多具体的答案。
【问题讨论】:
-
你试过the MySQL manual吗?它明确指出
PREPARE/EXECUTE语句是同一种准备机制的接口,但效率低于应用程序端的准备语句。 -
PHP 手册并没有真正回答我遇到的注入问题,MySQL 手册也没有。