首頁 >後端開發 >php教程 > mysql中用bigint字段储存手机10位号码,居然被截短。该如何处理

mysql中用bigint字段储存手机10位号码,居然被截短。该如何处理

WBOY
WBOY原創
2016-06-13 13:43:081686瀏覽

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

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

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

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

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn