我有一个名为的表Blocks
,如下所示:
| startIpNum | endIPNum | locId |
| int(11) | int(11) | int(11) |
现在很简单。正如您所猜到的,这是一个 IP 范围列表。我正在使用它进行地理定位。现在我得到$_SERVER['REMOTE_ADDR']
并将其转换为整数,并尝试使用此查询找到值之间的范围
"SELECT * FROM `Blocks` WHERE startIPNum >= '$ip_addr' AND endIPNum <= '$ip_addr' "
其中$ip_addr
是 的整数形式REMOTE_ADDR
。现在的问题是查询在 phpMyAdmin 中的我的 PHP 和 MySQL 中都返回了一个空结果,即使我知道表中有一行 IP 号介于我的 IP 号1677352691
和表中的一行之间
| startIpNum | endIPNum | locId |
1677351936 | 1677354111 | 12431
所以我的结论是我的查询格式不正确。那么如何正确查询表以获得我想要的结果呢?