数据库数据表创建语法:

DROP TABLE IF EXISTS `admin`;
CREATE TABLE IF NOT EXISTS `admin`(
    `adminid` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `adminuser` ) NOT NULL DEFAULT '' COMMENT '管理员账号',
    `adminpass` ) NOT NULL DEFAULT '' COMMENT '管理员密码',
    `adminemail` ) NOT NULL DEFAULT '' COMMENT '管理员电子邮箱',
    `logintime` ' COMMENT '登录时间',
    `loginip` ' COMMENT '登录IP',
    `createtime` ' COMMENT '创建时间',
    PRIMARY KEY(`adminid`),
    UNIQUE admin_adminuser_adminpass(`adminuser`, `adminpass`),
    UNIQUE admin_adminuser_adminemail(`adminuser`, `adminemail`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

(1)mysql控制台下:

ip地址转整型类型inet_aton

mysql> update admin set userip=inet_aton('192.168.1.1') where username='admin';
mysql> select * from admin;
+---------+-----------+----------------------------------+----------------+------------+------------+------------+
| adminid | adminuser | adminpass                        | adminemail     | logintime  | loginip    | createtime |
+---------+-----------+----------------------------------+----------------+------------+------------+------------+
   |
+---------+-----------+----------------------------------+----------------+------------+------------+------------+
 row in set (0.00 sec)

整型转ip地址类型inet_ntoa

);
+-----------------------+
) |
+-----------------------+
| 255.255.255.255       |
+-----------------------+

(2)php代码实现:ip2long

通过php代码将ip地址插入到数据类型为int或bigint的字段中(使用yii框架的语法)

 $this->updateAll(
  ['logintime' => time(), 'loginip' => ip2long(Yii::$app->request->userIP)],
  'adminuser = :user',
  [':user' => $this->adminuser]
);
Yii::$app->request->userIP:表示通过http请求头获取到当前用户浏览器的ip地址(注:可通过$_SERVER['REMOTE_ADDR']获取到本地ip地址)
(说明1:使用127.0.0.1访问本地apache服务器,而不要用localhost,localhost对应的ip为::1,不符合数据库限制的bigint类型)
(说明2:关于web服务器的ip地址和域名映射关系是在C:\Windows\System32\drivers\etc\hosts文件中配置的

说明: 转载请注明出处http://www.cnblogs.com/zqblogc/p/6216237.html

友情参考:http://www.qttc.net/201208193.html

MySQL存储IP地址操作的更多相关文章

  1. 【mysql】MySQL存储IP地址

    为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...

  2. mysql 存储ip地址

    mysql提供了两个方法来处理ip地址: inet_aton 把ip转为无符号整型(4-8位) inet_ntoa 把整型的ip转为电地址 插入数据前,先用inet_aton把ip地址转为整型,可以节 ...

  3. MySQL存储IP地址

    mysql没有提供IP类型,常见的存储多为使用varchar类型.其实使用int型更好,主要原因是便于计算IP段. 具体应用时应设置字段类型为unsigned int.否则无法存储128.x.x.x及 ...

  4. 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法

    原文:https://www.jb51.net/article/29962.htm 当前很多应用都适用字符串char(15)来存储IP地址(占用16个字节),利用inet_aton()和inet_nt ...

  5. MySQL怎样存储IP地址 IP转数字 互转

    MySQL怎样存储IP地址 - cn三少 - 博客园 https://www.cnblogs.com/cnsanshao/p/3326648.html

  6. MySQL怎样存储IP地址

    为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...

  7. MySQL如何有效的存储IP地址

    前几天,阿淼的一个朋友去面试,他回来告诉我,面试官问他 IP 地址是怎么存在数据库的?他当时也没多想,直接就回答的存字符串啊(心想:这么简单的问题,怕不是看不起我吧) 前面这段权当看看,毕竟 IP地址 ...

  8. MySQL和PHP中以整型存储IP地址

    正文:将IP地址以整型存储 一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储.但是其实有更好的存储方法就是以整型存储IP地址. 因为c ...

  9. 【mysql】IP地址整数int和varchar的转换

    mysql中IP地址的存储 IP:如192.168.12.145,在存储时,若是采用varchar进行存储,存在两个主要缺点: 存储空间占用较大: 查询检索较慢: 解决方式: 存储时:将字符串类型的I ...

随机推荐

  1. 夺命雷公狗-----React_native---2---sdk的安装

    首先回到刚才的那个android的目录下,创建一个sdk文件夹 解压完成后目录结构如下所示: 然后就来设置环境变量,我们需要添加一个"ANDROID_HOME" 然后将这3个文件夹 ...

  2. Java线程新特征——Java并发库

    一.线程池   Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利.为了编写高效稳定 ...

  3. XML转换JSON的工具使用方法

    1.xml的文件,文件的内容如下: <?xml version="1.0" encoding="UTF-8" standalone="yes&q ...

  4. 如何使用查尔斯代理抓取https请求

    首先 查尔斯代理是一个很不错的抓包工具 有适合各种系统的版本 最近http的请求几乎铺天盖地的已经变为了https了  其中的好处有很多  更加安全(http://www.cnblogs.com/lo ...

  5. Android 隐藏关闭软键盘

    直接复制代码就可以用 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVI ...

  6. 为什么导入数据库要加入set names utf-8

    Repinted:http://blog.csdn.NET/class1/archive/2006/12/30/1469298.aspx 为了让你的网页能在更多的服务器上正常地显示,还是加上" ...

  7. CSS3 笔记三(Shadow/Text/Web Fonts)

    CSS3 Shadow Effects text-shadow box-shadow 1> text-shadow The text-shadow property adds shadow to ...

  8. PHP 将下划线命名 转换为 驼峰式命名

    function convertUnderline($str , $ucfirst = true) { $str = ucwords(str_replace('_', ' ', $str)); $st ...

  9. Ajax原理

  10. The Number Off of FFF

    X soldiers from the famous “FFF army'' is standing in a line, from left to right. You, as the captai ...