$con = mysql_connect("url","user","pwd");
if (!$con)  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("becauseof86", $con);$sql=mysql_query("SELECT startn FROM bb");
while($row = mysql_fetch_assoc($sql)){
$startn=$row['startn'];
}
//该表就只有一个记录 startn=1
echo $startn;  //返回了97
echo "\n";
$endn=$startn+7;  
echo $endn;   //返回了104
echo "\n";
$sql=mysql_query("SELECT id FROM fanwe_site");
while($row = mysql_fetch_assoc($sql)){
$maxid=$row['id'];
//该表有89行记录 最后返回的是第89行的id值89
}echo $startn;//返回了97
echo "\n";
echo $endn;//返回了104
echo "\n";
echo $maxid;//返回了89
echo "\n";
if($startn>$maxid){
mysql_select_db("becauseof86", $con);
mysql_query("update bb set startn=1",$con);
exit();
}
if($startn=$maxid){
mysql_query("update fanwe_site set close_collect =1 where id>=1");
mysql_query("update fanwe_site set close_collect =0 where id='$startn'");
$startn=$startn+8;
mysql_query("update bb set startn='$startn'");
header("location:golbal_api.php");
}
if($startn<$maxid){
mysql_query("update fanwe_site set close_collect =1 where id>=1");
mysql_query("update fanwe_site set close_collect =0 where id>='$startn' and id<='$endn'");
$startn=$startn+8;
mysql_query("update bb set startn='$startn'");
header("location:golbal_api.php");
mysql_close($con);
}郁闷,为什么startn=1 总是取到89?

解决方案 »

  1.   

    你提出的问题是让人如此的纠结,如果我没有理解错误的话,你是想取出数据库中指定的记录,因为有$startn和$endn既然你有$startn和$endn,为什么不在下面的这条语句中使用呢$sql=mysql_query("SELECT id FROM fanwe_site where id >= $startn and id <= $endn");
    while($row = mysql_fetch_assoc($sql)){
        $maxid=$row['id'];
        //该表有89行记录 最后返回的是第89行的id值89
    }// 如果你不指定条件的话,上面的程序可不就是把数据库全取出来,还用while循环,那样不等89才怪呢