php – 在MySQL数据库中存储IP地址(IPv4和IPv6)
发布时间:2020-12-13 16:03:19 所属栏目:PHP教程 来源:网络整理
导读:好的,现在我知道类似的问题可能已被问过一百万次,但我是一个真正的新手,我真的很感谢你的帮助. 基本上,我想将访问者的IP地址存储在MySQL中,以便以后检索和验证.我首先需要知道我需要使用哪种类型的字段来存储IP地址.如果可能的话,我还想让系统与IPv6地址兼容
好的,现在我知道类似的问题可能已被问过一百万次,但我是一个真正的新手,我真的很感谢你的帮助.
基本上,我想将访问者的IP地址存储在MySQL中,以便以后检索和验证.我首先需要知道我需要使用哪种类型的字段来存储IP地址.如果可能的话,我还想让系统与IPv6地址兼容. 提前致谢
要存储IPv4,您可以使用INT UNSIGNED,而对于IPv6,您需要一个十进制(39,0),要在表中存储ip,您可以使用INET_ATON函数:
INSERT INTO table (ipcol) VALUES (INET_ATON('192.168.0.10')); 并使用函数INET_NTOA检索它: SELECT INET_NTOA(ipcol) AS ip FROM table; 这回答了MySQL IPv6支持之前存在的问题;用户应该知道MySQL现在本身支持IPv6:https://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |