如何通过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