php - 数据库中的IP地址比较

标签 php mysql

我正在尝试解决一个可以比较表中 2 列的问题。 表格如下

------------------------------------------
|  from    |    to           |  Country  |
------------------------------------------
| 25.0.0.1 | 25.255.255.255  |  denmark  |
------------------------------------------
| 68.0.0.1 | 68.255.255.255  |  USA      |

我的问题是我有一个 25.195.32.0 的 ip,我想将它与 fromto 列进行比较并返回国家名称

最佳答案

您可以使用 INET_ATON 获取要比较的 IP 的数值。

SELECT country FROM table
WHERE INET_ATON('25.195.32.0') BETWEEN INET_ATON(from) AND INET_ATON(to)

http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_inet-aton

关于php - 数据库中的IP地址比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23466291/

相关文章:

php - 忽略导入 csv 时的第一行

php - MYSQL PHP PDO Select 语句调用 null

php - 使用选择更新列

mysql - 需要一个触发器来防止来自表窗口的唯一输入更新

php - Web 应用程序中的数据库前缀是什么?

javascript - 返回 false 后提交表单

php - 如何使用 wamp 在本地主机上运行 laravel 项目?

javascript - 是否有可能以某种方式缩短 switch 语句?也许有一个循环?

mysql - 尝试将值插入到包含相互引用的外键的表中

mysql 数据透视表不计算日期列