在实现某些功能时有时会用到用户的IP地址,因为IP地址有四段,在保存到MySQL数据库中的时候可能会使用varchar(15)或者char(15),其实还有更好的方式那就是将IP地址转换成整型,这样占用空间更小,查询速度快,同时还方便比较。在数据库设计时要用无符号INT UNSIGNED,否则长度不够。下面给出主要PHP代码:
- <?php
- $ip = '这里是获取到的IP';
- echo $intip = sprintf('%u',ip2long($ip)); //转换为无符号整型
- echo long2ip($intip);//将整型转换为ip
- ?>
将IP地址转换为整型可以使用 select inet_aton(ip) from users;
将整型转换为IP地址可以使用 select inet_ntoa(intip) from users;