varbinary
PHP関数でIPv6アドレスを保存していますinet_pton($_SERVER['REMOTE_ADDR'])
。次のような SQL クエリを実行すると:
SELECT ip_address FROM some_table WHERE id='some_id';
binary
ip_address はフォーマットされているため、読み取ることができません。
MySQL バージョン 5.6INET6_NTOA(expr)
には、対応する MySQL 関数があり、読み取り可能な形式に戻すことができます。残念ながら、私はその機能を持たない MySQL バージョン 5.5 を使用しています。
PHP に戻って変換を行わずに IPv6 アドレスを読み取る方法はありますか? バイナリ文字列の 16 進数表記は、添付の画像のように Workbench のエディターで簡単に読み取ることができるので、これを行う簡単な方法があるはずだと考えました。