Mysql
 sql >> база данни >  >> RDS >> Mysql

Ip2long() в PHP равен ли е на функцията INET_ATON() в MySQL?

Те са почти абсолютно еднакви. ip2long понякога връща отрицателна стойност, защото PHP използва подписани числа за оценка, докато MySQL използва неподписани.

И двете се оценяват като x*(2^24) + y*(2^16) + z*(2^8) + w*(2^0) , но в PHP, поради дългото подписване, ще показва отрицателни стойности за определени IP адреси.

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

Така че адресите, докато се превеждат на над +2 147 483 647, ще се обвият и ще дадат отрицателни стойности.

ip2long("254.254.254.254"); // -16843010

Тази връзка описва това подробно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Приложението замръзва при извикване на база данни

  2. Рамката на обект с миграциите на база данни mysql се провалят при създаване на индекси

  3. Как да покажете съпоставянето на вашата връзка в MySQL

  4. mysql, alter column премахване на първичен ключ и автоматично увеличение

  5. CloudFormation:Шаблон RDS Mysql за създаване на DB, таблици, потребител или схема за зареждане