美文网首页
把IP地址存成 UNSIGNED INT

把IP地址存成 UNSIGNED INT

作者: F的平方 | 来源:发表于2019-07-30 11:43 被阅读0次

    很多程序员都会创建一个 VARCHAR(15) 字段来存放字符串形式的IP而不是整形的IP。如果你用整形来存放,只需要4个字节,并且你可以有定长的字段。而且,这会为你带来查询上的优势,尤其是当你需要使用这样的WHERE条件:IP between ip1 and ip2。

    我们必需要使用UNSIGNED INT,因为 IP地址会使用整个32位的无符号整形。

    而你的查询,你可以使用INET_ATON()来把一个字符串IP转成一个整形,并使用INET_NTOA()把一个整形转成一个字符串IP。在PHP中,也有这样的函数ip2long()long2ip()

    1$r = "UPDATE users SET ip = INET_ATON('{$_SERVER['REMOTE_ADDR']}') WHERE user_id = $user_id";

    相关文章

      网友评论

          本文标题:把IP地址存成 UNSIGNED INT

          本文链接:https://www.haomeiwen.com/subject/hrbgrctx.html