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、查询数据类型保持不变

yykpf
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
leo
最佳答案
2个月前 评论
yykpf (楼主) 2个月前
讨论数量: 2
leo
2个月前 评论
yykpf (楼主) 2个月前
ALMAS

缺少扩展 mysqlnd 也会引起整型转字符串

2个月前 评论
lovecn 2个月前
yykpf (楼主) 2个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!