网站首页 » 笔记 » php ip2long存IP入数据库

php ip2long存IP入数据库

August 30, 2016 笔记
<?php  
$ip = '192.168.1.38';  
  
/** 
 * 在32位的机子上,echo ip2long('192.168.1.38'); 
 * 由于超过32位的最大数,导致输出负数-1062731482。 
 * 有两种方法更新为正数: 
 * 用以下任意一种方式都可以 
 */  
var_dump( bindec(decbin(ip2long($ip))));  //float(3232235814)  
echo "\n";  
var_dump(sprintf("%u", ip2long($ip))); //string(10) "3232235814"  
//输出:3232235814  
//转换以前的数据:  
  
//1.把以前的varchar()数据转换为int型的SQL语句:  
UPDATE `hx_table` SET ip =  INET_ATON(ip) WHERE INET_ATON(ip) is NOT NULL  
//2.把字段更改为int型:  
ALTER TABLE `hx_table` CHANGE `ip` `ip` INT UNSIGNED NOT NULL  
//3.程序做相应修改上传,完成。 
Title - Artist
0:00