thinkphp5 使用读写分离中间件部分查询报错

浏览:186 发布日期:2018/05/16 分类:ThinkPHP5专区 关键字: 读写分离 数据库
thinkphp5 使用读写分离中间件部分查询报错,之前用thinkphp3.2 时候使用atlas 中间件做读写分离,一直好好的,后来用升级到thinkphp5.06版本,使用atlas 中间件做读写分离是有部分查询(绝大部分查询正常,没开启读写分离时数据查询都正常)报以下错误:SQLSTATE[HY000]: General error: 1243 Unknown prepared statement handler (1) given to mysqld_stmt_execute,后来我改用mycat做读写分离,Mycat 做读写分离时,有部分接口报如下错误:Packets out of order. Expected 1 received 6. Packet size=64网上找了很久,发现thinkphp5 有个配置可以设置mysql 预处理:    'params'          => [
       \PDO::ATTR_EMULATE_PREPARES  => true,  
    ],
开启PDO::ATTR_EMULATE_PREPARES  后,使用atlas和mycat都可以查询到数据,没有报错,但通过数据库查询出来的数据数据类型都改变了,整型全部变成字符串型了,有没有人遇到过类型的问题,求救……
最佳答案
评论( 相关
后面还有条评论,点击查看>>