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

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/g_hongjin/article/details/52381793
个人分类: php开发
上一篇使用MySQL的慢查询日志找到低效的SQL语句
下一篇使用.htaccess修改php.ini的配置
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭