字段类型设为字符串的吧,
要设为数值型的 
使用ip2long, long2ip来进行转换

解决方案 »

  1.   

    谢谢二位了,再问一个问题(没分了,高手不要见怪啊)
    $result = mysql_query($query) or die("Invalid query: " . mysql_error());
      if(!($arr = mysql_fetch_array($result)))
    我用这两行代码来检查:数据库查询成功,但返回的是空值。
    这里有什么不对啊,为什么老是出错。
      

  2.   

    $query的值?
    不会是insert into ...吧
      

  3.   

    $query是select语句
    我是要判断,在数据库中找到了怎么办,找不到又要怎么办
    这样写可以吗?
      

  4.   

    代码是这样的:
    $where = "where ipaddress1='$ip'";
    $query = "select ipaddress1 from tempip $where";
    $result = mysql_query($query) or die("Invalid query: " . mysql_error());
    if(!($arr = mysql_fetch_array($result)))
    {
      ++$d_spacecount;
      ++$spacecount;
      $query = "insert into tempip (ipaddress1,tim) values ('$ip','$nowtime')";
      $result = mysql_query($query) or die("Invalid query: " . mysql_error());
    }
    数据库里有符合要求的数据,但是两个变量还在不断增加。
    百思不得其解。
      

  5.   

    1、首先要结合你最初的提问来看待这个问题,因为有“往MySQL数据库里插入IP地址,怎么只能写入前三位”所以应该是你的ipaddress1为数值类型或虽然是字符类型但宽度不够
    2、你可以先
    $query = "select ipaddress1 from tempip";
    $result = mysql_query($query) or die("Invalid query: " . mysql_error());
    while($arr = mysql_fetch_array($result))
      echo $arr['ipaddress1']."<br>";
    看看都有些什么

    echo $ip;
    看看是什么