gpt4 book ai didi

php - 哪个 MySQL 数据类型用于 IP 地址?

转载 作者:IT老高 更新时间:2023-10-28 11:53:12 24 4
gpt4 key购买 nike

Possible Duplicate:
How to store an IP in mySQL

我想从 $_SERVER['REMOTE_ADDR'] 和其他一些 $_SERVER 变量中获取 IP 地址,哪种数据类型适合这个?

VARCHAR(n) 吗?

最佳答案

由于 IPv4 地址是 4 字节长,您可以使用 INT (UNSIGNED)正好有 4 个字节:

`ipv4` INT UNSIGNED

还有 INET_ATONINET_NTOA转换它们:

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;

对于 IPv6 地址,您可以使用 BINARY而是:

`ipv6` BINARY(16)

并使用 PHP’s inet_ptoninet_ntop转换:

'INSERT INTO `table` (`ipv6`) VALUES ("'.mysqli_real_escape_string(inet_pton('2001:4860:a005::68')).'")'
'SELECT `ipv6` FROM `table`'
$ipv6 = inet_pton($row['ipv6']);

关于php - 哪个 MySQL 数据类型用于 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5133580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com