> 백엔드 개발 > PHP 튜토리얼 > mysql中用bigint字段储存手机10位号码,居然被截短。该如何处理

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

WBOY
풀어 주다: 2016-06-13 13:43:08
원래의
1693명이 탐색했습니다.

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

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

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

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

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿