php – 在MySQL数据库中存储IP地址(IPv4和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

转载注明原文:php – 在MySQL数据库中存储IP地址(IPv4和IPv6) - 代码日志