ThinkPHP 组装 SQL语句时的数据越界问题

浏览:771 发布日期:2014/05/22 分类:求助交流 关键字: 数据越界 SQL 无符号整形
最近在写流量统计时,要记录访问者的ip地址,我数据库的ip字段的数据类型是int,属性是UNSIGNED。

然后使用mysql的内置函数“INET_ATON"和“INET_NTOA"在IP地址和整型中进行转换。

但是,我在查询数据库时,出现了一些问题。
当我要查询的IP地址大于2147483647时,ThinkPHP所组装成的SQL语句中的IP都是2147483647,这应该是数据越界问题。

例如:

$map['ip'] = 3436511904;
$data = $model->where($map)->select();
ThinkPHP组装成的SQL语句为:

SELECT * FROM `model` WHERE ( `ip` = 2147483647 );

这个是哪里出了问题呢?
我应该怎样解决呢?!

哪位大神能告诉我
最佳答案
评论( 相关
后面还有条评论,点击查看>>