Administrateur PHPfrance |
3088 Messages
10 août 2006, 23:34
J'ai créé une table SQL à partir de la base de données gratuite de GeoIP. La table contient des adresses IP converties en UNSIGNED INT (autrement dit des nombres 32 bits non-signés). J'aimerais les convertir dans un format compatible avec ip2long() et long2ip() (donc 32 bits signés). Je l'ai déjà fait plusieurs fois par le passé mais je n'arrive pas à le retrouver dans mes fichiers, si quelqu'un avait sous la main l'algorithme qui fait ça, ce serait super cool de m'en faire part merci
Je vous rappelle le problème. Sous MySQL:
Code : Tout sélectionner
mysql> SELECT INET_ATON('222.253.92.0');
+---------------------------+
| INET_ATON('222.253.92.0') |
+---------------------------+
| 3741146112 |
+---------------------------+
En PHP
echo ip2long('222.253.92.0');
// => -553821184
Mon but: convertir 3741146112 en -553821184 en SQL pour pouvoir convertir la table avec un simple UPDATE