mysqlのIPアドレスの正しいフィールドタイプは何ですか?そして、PHPを使用してそれを保存する正しい方法は何ですか?
このチュートリアル が役立つかもしれません。
IPv4アドレスを保存する最も効率的な方法は、INTフィールド(予想されるVARCHARではない)を使用することです。 PHPの ip2long およびMySQLの INET_NTOA 関数またはPHPの long2ip 関数。
ip2long
INET_NTOA
long2ip
IPv6を保存する必要がある場合は、代わりにBINARYフィールドとPHPの inet_pton 関数。
inet_pton
128ビット(16バイト、BINARY(16)またはVARBINARY(16))の長さのバイナリフィールドに保存できます。任意のIPアドレスをバイナリ表現に変換するには、php関数 inet_pton 。この方法は、IPv4アドレスとIPv6アドレスの両方で機能します。 inet_ntop を使用して、保存されているIPアドレスの文字列表現を取得できます(バージョンに関係なく)
BINARY(16)
VARBINARY(16)
inet_ntop
VARCHAR(45)は、IPv6を格納するのにも十分な長さがあるため、一般的に使用できます。