MySQL存储IP地址操作
数据库数据表创建语法:
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地址操作的更多相关文章
- 【mysql】MySQL存储IP地址
为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...
- mysql 存储ip地址
mysql提供了两个方法来处理ip地址: inet_aton 把ip转为无符号整型(4-8位) inet_ntoa 把整型的ip转为电地址 插入数据前,先用inet_aton把ip地址转为整型,可以节 ...
- MySQL存储IP地址
mysql没有提供IP类型,常见的存储多为使用varchar类型.其实使用int型更好,主要原因是便于计算IP段. 具体应用时应设置字段类型为unsigned int.否则无法存储128.x.x.x及 ...
- 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法
原文:https://www.jb51.net/article/29962.htm 当前很多应用都适用字符串char(15)来存储IP地址(占用16个字节),利用inet_aton()和inet_nt ...
- MySQL怎样存储IP地址 IP转数字 互转
MySQL怎样存储IP地址 - cn三少 - 博客园 https://www.cnblogs.com/cnsanshao/p/3326648.html
- MySQL怎样存储IP地址
为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...
- MySQL如何有效的存储IP地址
前几天,阿淼的一个朋友去面试,他回来告诉我,面试官问他 IP 地址是怎么存在数据库的?他当时也没多想,直接就回答的存字符串啊(心想:这么简单的问题,怕不是看不起我吧) 前面这段权当看看,毕竟 IP地址 ...
- MySQL和PHP中以整型存储IP地址
正文:将IP地址以整型存储 一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储.但是其实有更好的存储方法就是以整型存储IP地址. 因为c ...
- 【mysql】IP地址整数int和varchar的转换
mysql中IP地址的存储 IP:如192.168.12.145,在存储时,若是采用varchar进行存储,存在两个主要缺点: 存储空间占用较大: 查询检索较慢: 解决方式: 存储时:将字符串类型的I ...
随机推荐
- jquery note--czx
-------------------------------------------------------+++------------------------------------------ ...
- 18.有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
方法1(对于PHP5及更高版本): $readcontents = fopen("http://www.phpres.com/index.html", "rb" ...
- NoSql 中Mongodb数据库的使用
1.NoSql数据库简介 2.MongoDB数据库的简介 3.MongoDB下Windows下的安装
- 纳尼,java可以在接口中实现非抽象方法了?
纳尼,接口中可以定义实例方法了?! 纳尼,接口中还可以定义静态方法了?! 没错,在Java8中新增了很多新的特性,其中就包括可以在接口中添加方法和变量. 首先我们来看下代码 public interf ...
- Java表单中关于JavaScript的非空必输验证,你的程序和大牛有多少差距╮( ̄▽ ̄")╭
var defaultEmptyOK = false; // スペース var whitespace = " \t\n\r "; function checkNull (theFi ...
- 利用 Serial Over Lan(SOL)搭建 XEN 的调试信息输出环境
如有转载,请注明出处与本文连接,谢谢! 修改XEN的源码实现额外的功能,需要有一个调试环境来得到XEN的调试信息(有关源码编译并安装 XEN 请阅读我以前的博文:在CentOS下源码安装 Xen并搭建 ...
- 图说js中的this——深入理解javascript中this指针
没搞错吧!js写了那么多年,this还是会搞错!没搞错,javascript就是回搞错! ………… 文章来源自——周陆军的个人网站:http://zhoulujun.cn/zhoulujun/html ...
- Xcode 7 PCH宏文件的配置和使用---学会使用宏定义
使用宏的目的是什么? 由于实际开发中,有时候一些设置信息需要重复使用(例如设置打印信息.配置颜色.配置宽度等),如果每次都手动去敲每次都去创建会很麻烦.虽然宏使用的时候会占用内存,可是目前来说大部分开 ...
- 【iOS开发】在 App 中加入 AdMob 广告 - 入门介绍与编程技巧
前言 虽然在App中加入广告来盈利是比较低级的商业化方式,但对于个人开发者或者小团队开发者来说,做出一个简单易用的免费小工具(举个栗子),在里面加入一些广告,如果用的人多,也是可以带来一些可观的收入的 ...
- 怎样获取Windows平台下SQL server性能计数器值
转载自工作伙伴Garrett, Helen "SQL Server Performance Counter captures" Capturing Windows Performa ...