我的一段循环代码如下:
do{
$row = array();//初始化$row
$arr['range'] = rand(10000,99999);//得到一个随机数
//在数据库中查询这个随机数
$query = "select `range` from `".$table."` where `range`='".$arr['range']."'";
$result = $sSavedatainfo->mysql->query($query);
$row = $sSavedatainfo->mysql->fetch_array($result);
}
while(!isset($row['range']));//数据库中不存在这个随机数就跳出循环.
这段代码执行时总是会执行无数次,最后得到同一个随机数而结束循环请朋友帮忙看看错误在什么地方.谢谢!

解决方案 »

  1.   

    哎...while接受的必须是一个false的条件才跳出来。
    如果表达式的值是true都不行do{
    $row = array();
    $arr['range'] = rand(10000,99999);
    $query = "select `range` from `".$table."` where `range`='".$arr['range']."'";

    $result = $sSavedatainfo->mysql->query($query);
    $row = $sSavedatainfo->mysql->fetch_array($result);
    $while = isset($row['range']) ? true : false;
    }
    while($while);
      

  2.   

    楼主终于开窍了.
    呵呵,建议多看看手册的do while语句.
      

  3.   

    哎...while接受的必须是一个false的条件才跳出来。 
    如果表达式的值是true都不行