$role_so = $db->query("select max(id) as maxid from info");
while ($arr = mysql_fetch_array($role_so))
 {$var_max_num = $arr[maxid];
  echo $var_max_num;}得出的结果为什么总和我看到的不一样,超大!

解决方案 »

  1.   

    把这语句mysql里跑一次。结果和你网页里输出的比较下。
    不一样就确认下你PHP连得数据库是不是你应该连的库,是不是连到别的库里了。
      

  2.   

    我想知道lz看到的最大id是通过什么。phpmyadmin还是命令行里执行了那段query.
    如果是phpmyadmin的话,我感觉楼主没有看全吧,一般是有很多页的。
      

  3.   

    select max(id) as maxid from info如果和select id as maxid from info order by id desc limit 1一样的话就是对的,应该是你只看了一页记录,后面应该还有很多页记录呢
      

  4.   

    这个问题啊 是因为你在循环里面连续不断的打印maxid的值,而且没有换行,数字一个挨着一个,执行到最后看到一长串数字,还以为是maxid呢,其实是重复的maxid。如果把echo $var_max_num;改成echo $var_max_num.'<br />'; 就可以很清楚的看到每行输出的都是一样的数字。所以在真正应用的时候,$var_max_num = $arr['maxid']; 是放在while循环之外的。还有,要注意规范$arr['maxid']; 要用引号把字段名括起来。
      

  5.   

    你看清人家的sql语句啊,select max(id)能出来很多行?
      

  6.   

    呵呵 不好意思了 弄错了,Sorry Sorry