sql >> Database teknologi >  >> RDS >> Mysql

Er ip2long() i PHP lig med INET_ATON() funktion i MySQL?

De er næsten nøjagtig ens. ip2long returnerer nogle gange en negativ værdi, fordi PHP bruger signerede tal til værdiansættelse, mens MySQL bruger usignerede.

Begge evalueres som x*(2^24) + y*(2^16) + z*(2^8) + w*(2^0) , men i PHP, på grund af den lange signering, vil vise negative værdier for visse IP-adresser.

For signed long, the range is 
(2^31) - 1 = −2,147,483,648 to +2,147,483,647

Så adresser, mens de oversættes til over +2.147.483.647, vil omsluttes og give negative værdier.

ip2long("254.254.254.254"); // -16843010

Dette link beskriver dette i detaljer.



  1. vælg flere rækker forskellig værdi fra samme tabel

  2. mysql show Antal rækker fra anden tabel i hver række

  3. AFTER LOGON(Oracle) trigger i PostgreSQL med udvidelse – login_hook

  4. Sådan installeres MySQL på Debian 7