Hallo,
ich stehe gerade etwas auf dem Schlauch was den Vergleich zwischen IP's in einem VARBINARY(16) Feld angeht.
Ich habe mittels inet_pton IP-Ranges in der DB abgelegt (RangeFrom, RangeTill).
Jetzt möchte ich schaun ob eine gegebene IP in einer der hinterlegten Ranges passt.
z.B.
Range: 178.203.0.0 - 178.203.255.255
gegebene IP: 178.203.34.137
Die Abfrage ist wie folgt:
mysql_query("SELECT * FROM ip_ranges WHERE RangeFrom <= " . mysql_real_escape_string(inet_pton($ip)) . " AND RangeTill >= " . mysql_real_escape_string(inet_pton($ip)))
Allerdings bekomme ich nichts zurück. Also scheint der Vergleich von VARBINARY Feldern nicht so zu klappen, wie ich es mir erhofft hatte.
Laut MySQL-Doc werden die Einträge Byteweise verglichen, also sollte das doch passen?!?
Kann mir da bitte jemand helfen?
Danke
MFG Theodor