1、ATTR_EMULATE_PREPARES=true(默认)
含义:本地prepare
详细:prepare不发送,execute时发送完整的sql
优点:当代码里频繁prepare,prepare放在本地,减轻mysql服务器压力
缺点:sql注入需要自己防范
注意:会把数据库数据由int类型转成string,如果php跟object-c合作,可能有问题。需慎重!!!
2、ATTR_EMULATE_PREPARES=false
含义:服务端(mysql)prepare
详细:prepare时「query+占位符」发给服务端
优点:1、防sql注入;2、当代码里prepare少时性能更好
缺点:1、高并发,频繁prepare,会有性能问题;2、慢日志里是占位符