关闭

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

176人阅读 评论(0) 收藏 举报
分类:

在实现某些功能时有时会用到用户的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;

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13130次
    • 积分:320
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    文章存档
    最新评论