MySQL 配置属性 (ATTR_EMULATE_PREPARES 为 true) 整型转字符串所遇问题
使用 sharding-proxy-3.1.0 数据库中间件坐mysql代理:
在laravel5.6和php7.2环境中配置 config/databases.php文件的 mysql选项如下:
'options' => [
PDO::ATTR_EMULATE_PREPARES => false,
]
报错:
Packets out of order. Expected 1 received 27...
如果把以上配置改为如下:
'options' => [
PDO::ATTR_EMULATE_PREPARES => true,// 模拟预处理语句
]
可以解决报错问题,但是查询出来的数据会把整型转成字符串,请问在laravel中如何同时解决这两个问题:
1、使用 sharding-proxy-3.1.0 中间件不报错
2、查询数据类型保持不变
看起来是 PDO 的锅,https://stackoverflow.com/questions/254110...