将IP以整型的方式存储到数据库中

原创 2016年08月31日 09:31:23

在实现某些功能时有时会用到用户的IP地址,因为IP地址有四段,在保存到MySQL数据库中的时候可能会使用varchar(15)或者char(15),其实还有更好的方式那就是将IP地址转换成整型,这样占用空间更小,查询速度快,同时还方便比较。在数据库设计时要用无符号INT UNSIGNED,否则长度不够。下面给出主要PHP代码:

  1. <?php
  2. $ip '这里是获取到的IP';
  3. echo $intip sprintf('%u',ip2long($ip)); //转换为无符号整型
  4. echo long2ip($intip);//将整型转换为ip
  5. ?>
        这样保存到数据库之后也很容易比较,例如类似between之类的语句,在sql语句中也可以通过函数实现转换:

       将IP地址转换为整型可以使用 select inet_aton(ip) from users;

       将整型转换为IP地址可以使用 select inet_ntoa(intip) from users;

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ip数据库(长整型)最新转换

  • 2008年09月05日 13:53
  • 4.52MB
  • 下载

浮点型和整型在内存中的存储方式

(代码运行环境:Xcode7.3.1)先来看这段代码#include int main() { int a = 0x12345678; int i = 0; printf("...

深入谈谈整型、浮点型在内存中的存储方式

先简介一下大小端模式 大端模式:Big-Endian 就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端 小端模式:Little-Endian 就是低位字节排放在内存的低地址端,高位字节排...

IP点分十六进制整型转换

  • 2014年04月18日 15:30
  • 43KB
  • 下载

Delphi版IP地址与整型互转

  • 2013年05月08日 12:53
  • 2KB
  • 下载

IP从整型地址转换为点分形式

题目描述: 通常我们在存储IPv4地址的时候不会直接使用字符串,例如192.168.1.1,我们不用“192.168.1.1”这个字符串来存储,而是将这个IP地址转换为一个无符号整数,因为一个IP...
  • yums467
  • yums467
  • 2016年09月27日 13:39
  • 1115

浅谈PHP中IP与整型互相转换

IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,i...

字符型IP地址与整型之间转换

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:...

ip地址与整型互转各种方法总结

方法1:php语言 PHP中提供了专门的函数用来将ip转换为整型:ip2long $ip="218.65.110.134"; echo ip2long($ip);方法2:Python http://...

Java面试宝典系列之字符串转整型、判断IP合法性、求最大公约数

Java面试宝典系列之字符串转整型、判断IP合法性、求最大公约数 作者:egg 邮箱:xtfggef@gmail.com 微博:http://weibo.com/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将IP以整型的方式存储到数据库中
举报原因:
原因补充:

(最多只允许输入30个字)