日期:2014-05-17  浏览次数:20407 次

mysql中用bigint字段储存手机10位号码,居然被截短。
我怎么每次用BIGINT 字段储存手机号码 的时候 。 不管,打什么11位的号码,都只显示4294967295

------解决方案--------------------
echo pow(2, 32); //4294967296

那是因为你在 php 中没有把手机号码当做字符串处理

------解决方案--------------------
PHP 的“整数值”类型不支持 11 位十进制数(这里说的是 32 位操作系统上)。
超过范围的“整数值”会被 PHP 转换成“浮点数”。

你遇到的问题,有可能是你使用了某种数据库接口程序,对这种情况做了特殊处理。总之你要是能看到最终执行的 INSERT INTO ... 语句,就都清楚了。

————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)