免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2910 | 回复: 4
打印 上一主题 下一主题

请教一个MYSQL中查询IP地址的问题!【已解决】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-31 10:45 |只看该作者 |倒序浏览
我把纯真数据导出为TXT文件,然后导入到ACC里面,然后用Navicat MySQL导入到MYSQL(版本:5.0.45)中,分别使用过UTF8、GB2312和GBK编码,IP地址使用的是 varchar 类型,但是问题如下:
select code from ips where id=4; 可以返回结果;
select code from ips where start_ip="4.12.0.0";也可以返回结果;
但是
SELECT code from ips where INET_ATON('4.0.0.2') between INET_ATON(start_ip) and INET_ATON(end_ip);
这样的话,就返回 Empty set ,始终搞不明白是哪儿的问题,请问有人能指点一二吗?

[ 本帖最后由 griefhy 于 2007-10-31 11:50 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-10-31 11:16 |只看该作者
怎么不用ip2long

论坛徽章:
0
3 [报告]
发表于 2007-10-31 11:28 |只看该作者
那是PHP的函数吧,MYSQL本身就有INET_ATON,只是奇怪为什么总是不行。。。

论坛徽章:
0
4 [报告]
发表于 2007-10-31 11:50 |只看该作者
问题已解决,原来是 end_ip 里面每个IP前面都有一个空格,导入的时候弄错了,导致 inet_aton(end_ip) 返回 null ,现在可以了!

论坛徽章:
0
5 [报告]
发表于 2007-12-17 23:02 |只看该作者
有次我们系统升级,一个同事建表时把字段前面加一空格,可把我们害惨了,程序查了N次,最后突然发现只是那一小空格.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP