Porównaj ceny domen i usług IT, sprzedawców z całego świata

Przechowywanie adresu IP w bazie danych MySQL przy użyciu PHP


jaki jest prawidłowy typ pola dla adresu IP w mysql? i jak go poprawnie przechowywać używając PHP?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Ten samouczek
http://daipratt.co.uk/mysql-store-ip-address/
może Ci pomóc.
Najbardziej wydajnym sposobem przechowywania adresów IPv4 jest użycie pola INT (zamiast VARCHAR, jak można się spodziewać). Konwertujesz je za pomocą PHP
ip2long
http://ca.php.net/ip2long
i odwrotnie, używając funkcji MySQL
INET_NTOA
lub funkcji PHP
long2ip
.
Jeśli chcesz zachować IPv6, będziesz chciał użyć zamiast tego pola BINARY i funkcji PHP
inet_pton
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

możesz je przechowywać w 128-bitowym polu binarnym (16 bajtów,
BINARY (16)
lub
VARBINARY (16)
). ) Funkcja php może służyć do konwersji dowolnego adresu IP na jego reprezentację binarną
inet_pton
http://php.net/inet_pton... ta metoda będzie działać zarówno dla adresów IPv4, jak i IPv6.
inet_ntop
http://php.net/inet_ntop
może służyć do zwracania ciągowej reprezentacji przechowywanego adresu IP (niezależnie od wersji)
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zwykle możesz skorzystać z VARCHAR (45), ponieważ będzie on wystarczająco długi, aby przechowywać IPv6.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się