gpt4 book ai didi

php - 如何将32位系统上的ip2long负值存储到MySQL

转载 作者:行者123 更新时间:2023-11-29 11:57:03 24 4
gpt4 key购买 nike

我必须将 IP 地址存储到在 32 位系统上运行的 MySQL 表中。

在 64 位系统上,我只需使用 INT(10) UNSIGNED,因为 ip2long 始终是绝对值。

如何使其在 32 位上运行?我有两个选择。

  1. 删除 UNSIGNED 并存储负值,但我不确定是否值仍然有可能太大或太小一次这样就完成了(因为上限将减少一半到允许下限为负数)
  2. 使用sprintf("%u",ip2long( $ip )) checkout this post (可能会比 1 慢。)

还有其他解决方案吗?

最佳答案

您可以尝试使用 INET_ATON 函数在 SQL 插入查询中而不是 PHP 中转换 IP https://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_inet-aton 。您需要使用 INT UNSIGNED 作为列类型。

关于php - 如何将32位系统上的ip2long负值存储到MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33035325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com