![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
mam kilka pytań/wątpliwości odnośnie zapisu adresu IP w bazie danych. Wypunktuję, żeby był porządek (IMG:style_emoticons/default/smile.gif)
Liczę na gorącą dyskusję (IMG:style_emoticons/default/smile.gif) Ten post edytował SmokAnalog 17.09.2013, 12:19:24 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Co prawda nie wspomniano nic o konkretnym silniku bazy danych, ale w MySQL sprawa jest o tyle nieciekawa, że bazie tej brakuje dobrego wsparcia dla przechowywania adresów IP i niestety trzeba się ratować ogólnym typem binarnym, np. VARBINARY(16). Jednak, gdy w przyszłości w końcu poprawią ten aspekt, nie będzie żadnego problemu z migracją. W innych baza danych, w miarę możliwości korzystaj z dedykowanego typu dla adresów, np. w przypadku Postgresa będzie to typ inet
1. Wszystkie adresy IPv4 konwertuj do IPv6. Łatwiej jest pracować nad pojedynczym modelem danych. Ewentualnie tuż przed wyświetleniem gdzieś tego adresu możesz sprawdzić czy jest to v4 i zaprezentować go w takiej właśnie formie. 2. Po stronie PHP przydatne będzie inet_pton oraz inet_ntop. @Damonsson: Jeżeli interesuje Cię jedynie zapisanie i odczytanie adresu, to zapisywanie jako tekst jeszcze przejdzie, ale jeżeli chcesz z tymi danymi zrobić cokolwiek innego będzie to stwarzało sporo problemów. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
1. Wszystkie adresy IPv4 konwertuj do IPv6. Łatwiej jest pracować nad pojedynczym modelem danych. Ewentualnie tuż przed wyświetleniem gdzieś tego adresu możesz sprawdzić czy jest to v4 i zaprezentować go w takiej właśnie formie. Rozumiem, że inet_pton sam się tym zajmie, prawda? Proszę jeszcze o odpowiedź w sprawie PDO::PARAM_LOB, bo nie ukrywam, że to mnie najbardziej intryguje. Ten post edytował SmokAnalog 17.09.2013, 13:06:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 01:48 |