2

我将 IPv6 地址存储为varbinaryPHP 函数inet_pton($_SERVER['REMOTE_ADDR'])。当我运行 SQL 查询时,例如:

SELECT ip_address FROM some_table WHERE id='some_id';

我将无法读取 ip_address,因为它是一种binary格式。

我注意到MySQL 5.6 版INET6_NTOA(expr)中有一个相应的MySQL 函数可以将其恢复为可读格式。不幸的是,我使用的是 MySQL 5.5 版,它没有该功能。

有没有其他方法可以读取 IPv6 地址而无需返回 PHP 进行转换?如附图所示,我可以使用 Workbench 中的编辑器轻松读取二进制字符串的十六进制表示法,因此我认为应该有一种简单的方法来做到这一点。

在此处输入图像描述

4

1 回答 1

3

您可以编写用户定义的函数来为您进行转换并在 select 子句中调用它们。有关更多信息,请参阅链接。

于 2012-04-06T05:48:39.543 回答