美文网首页
使用pdo连接操作Mycat的注意事项

使用pdo连接操作Mycat的注意事项

作者: 骑蚂蚁上高速_jun | 来源:发表于2020-03-02 21:21 被阅读0次

pdo连接对象必须开启预处理模拟。

pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,true); // 启用预处理语句的模拟, 该配置选项pdo默认就是启用的。启用->
该选项之后,查询数据库的int 型字段都会变成 String ,对于开发app端接口而言肯定不行。 解决办法就是在框架的 orm 中的返回值处,将 int型字符串使用 php的 intval 函数将其强制转换成 int。
在没有使用 mycat 的项目中建议将 PDO::ATTR_EMULATE_PREPARES属性值 设置为false。 在配合
pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); 可以原样输出mysql的字段类型。

总结: 在pdo操作 mcyat 项目中, 建议设置:

步骤一:
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,true);
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
步骤二:
在 数据库查询 返回前 用 php 函数将 int型字符串强制转换成 int

相关文章

网友评论

      本文标题:使用pdo连接操作Mycat的注意事项

      本文链接:https://www.haomeiwen.com/subject/dzcikhtx.html