16 Kommentare zu diesem Eintrag
Abonniere dieses Thema via Kommentar RSS oder setzte einen TrackBack URL
mygif_alt
» Hexadezimale Zahlen Entwicklerblog: sagt, am 20. Januar 2008 um 18:11:05 Uhr.     

[...] in Allgemein, Tutorials 20Jan Vor einigen Tagen habe ich erklärt, wie man am besten IP’s in einer MySQL Datenbank speichert, und dies genaustens erklärt, indem ich die Zahl in Hexadezimale Zahlen umgerechnet habe, und [...]

mygif
Christian sagt, am 28. Januar 2008 um 23:16:10 Uhr.     

Schöner Beitrag, genau die Info gefunden die ich brauche. Danke!!

mygif_alt
Markus sagt, am 28. Januar 2008 um 23:20:45 Uhr.     

Thx, freut mich zu hören :)

mygif
Jonas sagt, am 10. Februar 2008 um 15:19:19 Uhr.     

Genau das habe ich gesucht. Vielen dank für den lehrreichen Beitrag.

mygif_alt
Markus sagt, am 10. Februar 2008 um 15:21:00 Uhr.     

Freut mich :)

mygif
Marc sagt, am 13. Juni 2008 um 15:52:02 Uhr.     

Hallo!

Was ich nicht verstehe ist UNSIGNED INT(10). Warum unsigned? Laut ip2long können auch negative Zahlen herauskommen:
http://de3.php.net/ip2long

Oder ist das bei der Rückwärtsberechnung egal?

Gruß
Marc

mygif_alt
mcguillan sagt, am 28. Oktober 2008 um 12:16:37 Uhr.     

Danke für die Info, die Frage ist nur, ab wievielen gespeicherten Ips, diese Form sinnvoll ist.

mygif
fmotto sagt, am 16. November 2008 um 11:14:06 Uhr.     

nein das unsigned ist nicht egal.
es können auch negative werte entstehen die nicht übernommen werden können.
beim int mit forzeichen ist aber bei 2147483647 schluss.
Das heist im klartext nette idee, aber völlig unsinnig weil nicht anwendbar.

mygif_alt
Coksnuss sagt, am 24. Dezember 2008 um 12:56:23 Uhr.     

Schöner Blog, gefällt mir… gleich mal abspeichern =)!

mygif
@Hirnies sagt, am 5. Februar 2009 um 01:37:49 Uhr.     

Tönt mal nicht so rum hier, zumindest nicht bis Ihr lesen gelernt habt und den Unterschied zwischen der PHP Funktion ip2long(), die mit den Datentyp Defiziten von PHP klarkommen muss, und der MYSQL Funktion INET_ATON() auf die sich das Blog bezieht verstanden habt.

mygif_alt
sfbdfb sagt, am 5. Februar 2009 um 17:17:44 Uhr.     

b u m s e n

mygif
Daniel Brito Mendes sagt, am 23. Februar 2009 um 19:50:18 Uhr.     

Sehr schöne sauber Sache um vor allem in entsprechenden Ranges zu suchen!

mygif_alt
Michael Rack sagt, am 27. Februar 2009 um 20:04:17 Uhr.     

Servus Leute, wie kann ich CDIR / Bitmasken in MySQL Rechnen?

Ich habe eine IP-Adresse mit /24 und möchte wissen, was die Netzwerk und was die Broadcast Adresse ist.

mygif
User IP ind Datenbank speichern | Webdesignblog sagt, am 27. Mai 2009 um 15:48:08 Uhr.     

[...] dazu auch: [MySQL] IP-Adressen speichern Verwandte ArtikelAchtung Hacker! - Maßnahmen zum Schutz der DatenbankDatenbank Backup via Cronjob [...]

mygif_alt
Marc sagt, am 30. Juni 2009 um 18:21:44 Uhr.     

Hi fmotto!

“nein das unsigned ist nicht egal.
es können auch negative werte entstehen die nicht übernommen werden können.
beim int mit forzeichen ist aber bei 2147483647 schluss.
Das heist im klartext nette idee, aber völlig unsinnig weil nicht anwendbar.”

Ich habs mittlerweile herausgefunden. Man muss unsigned als Spaltenwert nutzen, da sonst der Zahlenbereich von INT(10) nicht für alle IP-Adressen ausreicht.

Deine letzte Aussage ist aber quatsch, weil man in PHP einfach nur per sprintf() das Vorzeichen entfernen muss, wie es auch bei der ip2long()-Funktionsbeschreibung beispielhaft aufgeführt ist.

Also der Tipp ist sehr wohl umsetzbar, spart Ressourcen und erhöht die Performance, wenn man IPs in der Datenbank filtern bzw. vergleichen muss, da man reine Integervergleiche vornimmt, statt Stringvergleiche.

Wo man allerdings aufpassen muss ist in php: Man darf die Zahl, auch wenn sie per sprintf() unsigned gesetzt wurde, nicht zusätzlich per intval() in einen Integer verwandeln. Bei 32Bit wird sonst die Zahl verfälscht, weil sie außerhalb des Zahlenbereichs liegt.

Mehr hier:
http://www.selfphp.de/forum/showthread.php?p=128839#post128839

mygif
DerBee sagt, am 30. September 2009 um 10:03:43 Uhr.     

Moin,

ist ja wirklich nicht schlecht, für mich zwar irrelevant, da meine Datenbank längst nicht so viele Daten fasst, dass Speicherbedarf relevant wäre, aber trotzdem gut.

Meine Frage, wie würdet ihr mit IPv6 Adressen verfahren?

Hinterlasse ein Kommentar

 Name (*Pflichtfeld)

 Email Addresse (*wird nicht veröffentlicht)

 Website (*optional)

Informiere mich wenn hier jemand einen Nachricht hinterlässt.

Bitte beachte: Möglicherweise wird dein Kommentar noch überprüft, du musst ihn also nicht nochmal versenden falls es hier nicht angezeigt wird.