我必须将IP地址存储到32位系统上运行的MySQL表中。
在64位系统上,我只需使用INT(10) UNSIGNED,因为ip2long始终是一个绝对值。
如何使它在32位上工作?我有两个选择。
UNSIGNED并存储负值,但我不确定一旦这样做,值是否仍然太大或太小(因为上限将减少一半,以便允许下限为负值)sprintf("%u",ip2long( $ip )) checkout this post (可能比1慢)。还有其他解决办法吗?
发布于 2015-10-09 12:11:02
您可以尝试使用INET_ATON函数inet-aton在SQL查询中,而不是在PHP中转换IP。您需要使用INT无符号作为列类型。
https://stackoverflow.com/questions/33035325
复制相似问题