在Yii中使用"emulatePrepare"还是不?

tre*_*der 5 php mysql pdo yii

我已经从手动/演示应用程序/其他任何东西复制了Yii数据库连接的未修改(我认为)代码.并且,如果我没有弄错,它'emulatePrepare'=>TRUE默认设置.

然后我发现了这个这个答案以及更多来源,这似乎都声称,使用模拟准备是错误的想法.它是旧版RDBMS(特别是MySQL)的遗留物,不应该用于现代版本的MySQL/PHP.

有人可以证实吗?'emulatePrepare'=>FALSE我们的Yii应用程序应该有吗?

You*_*nse 5

你联系到的两个答案都是毫无意义和主观的.它们未能提供避免仿真模式的某些原因.难怪,因为没有一个.

我所知道的实际案例只有两个真正影响PDO的体验

  • 当打开仿真,则不能使用传递参数来execute()获取LIMIT语句.
  • 关闭仿真,就不能使用使用多个具有相同名称的命名占位符的非常方便的功能.

所以,最后的决定是你的,但我不会把任何问题都称为过于批评.