1. 单纯地使用ip2long()函数,很容易将转换成负值,所以修改如下:
$ipp=$ip[0].".".$ip[1].".".$ip[2].".".$ip[3];
$ipl=bindec(decbin(ip2long($ipp)));;
2. 使用prefix=ip&(0xFFFFFFFF<<(32-mask))查询mysql数据库:
$move = 0xFFFFFFFF;
$query="select * from IP2Location_table where prefix='".$ipl."' & ('".$move."'<<(32-mask)) order by mask desc limit 1 ;";
3. vs2010连接mysql数据库
参考http://www.itcsolutions.eu/2010/09/09/how-to-connect-to-mysql-database-from-visual-studio-vs2010-problems-with-net-connectors/
4. 为什么$res=mysql_query($query); 有数据, 但是$res=mysql_query($query,$conn); 没有数据呢?