如何通過PHP格式化MySQL數據庫上的查詢以查找IP地址是否落在兩個不同字段中的兩個數字之間?查找數字是否在MySQL數據庫的不同字段中的兩個數字之間
IP地址的數值表示發現:
1265631252
數據庫格式:
IP FROM IP TO REGISTRY ASSIGNED CTRY CNTRY COUNTRY
"1265631232","1265893375","arin","1152835200","US","USA","United States"
"1265893376","1265958911","arin","1149120000","US","USA","United States"
"1265958912","1266024447","arin","1149120000","US","USA","United States"
"1266024448","1266089983","arin","1162425600","US","USA","United States"
也許「分而治之」的方法可能會更好?將ip地址分割成smallint(字節)的4個字段,把這些字段放在一個索引中(這部分很重要),然後在單獨的條件(如地址127.0.0.1或調整範圍)中查詢這些字段:where(fld1 (fld1 <= 127)和(fld1 <= 127)且(fld2> = 0)且(fld2 <= 0)且(fld3> = 0)且(fld3 <= 0) = 1)。沒有嘗試過,只是一個想法嘗試。 – 2015-06-05 08:38:36