获取mysql字段类型为数字时发现win版和linux版不一样,像是BUG?

daohu

在win版测试了很久,一切OK,今天很高兴的部署到linux版,结果前端程序却报错,很是奇怪,找了半天是这个问题,如下图,有这样一个数据库里的表

[attach]640[/attach]

登录成功后,wokerman通过官方提供的MySQL组件去拉取数据然后返回给前端,前端根据数据显示或进行相关逻辑。

win版返回的是这样的
[attach]641[/attach]

比如money这个字段,因为数据库里是int类型,所以返回的是纯数字,我再前端进行数字加减没有问题

但是linux返回的是这样的(前端后端数据库和win版都一样)

[attach]642[/attach]

返回的却是字符串,money+10,就变成了:“784847”+10=“7848470”,这就造成了刚开始的报错,第一次接触linux,理论上两者不该会有这种差异,希望大神可以看下这里是不是有BUG,我该怎么解决问题,甚是感谢!

2229 1 0
1个回答

walkor

https://stackoverflow.com/questions/20079320/php-pdo-mysql-how-do-i-return-integer-and-numeric-columns-from-mysql-as-int
找到一篇文章,参照文章 我这里经过测试只需要装下mysqlnd扩展就好了。

  • daohu 2017-06-06

    已通过此方法解决,谢谢!

年代过于久远,无法发表回答
🔝