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
したがって、私の結論は、クエリの形式が正しくないということです。では、テーブルを適切にクエリして、希望する結果を得るにはどうすればよいでしょうか?