Heim >Backend-Entwicklung >PHP-Tutorial > mysql中用bigint字段储存手机10位号码,居然被截短。该如何处理

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

WBOY
WBOYOriginal
2016-06-13 13:43:081686Durchsuche

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

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

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

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

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn