您好,欢迎访问一九零五行业门户网

php while循环退不出是什么有关问题

php while循环退不出是什么问题?
check_user_login(); //检查用户是否登录
$db->createcon(); //建立连接
// $user=$_session[user];
$user = libero; //测试临时使用
// 执行 user数据表 选取user数据
$sql_user = select * from user where user = '$user';
$user_array = $db->fetch_array($sql_user);
// 执行 yytable 数据 获取 yytable 所有数据
$sql_yytable = select * from yytable where uid = '$user_array[0]';
echo ;
while($yytable_array = $db->fetch_array($sql_yytable)){
echo ;
echo .$yytable_array[0]. ;
echo .$yytable_array[1]. ;
echo .$yytable_array[2]. ;
echo .$yytable_array[3]. ;
echo .$yytable_array[4]. ;
echo .$yytable_array[5]. ;
echo
;
}
echo
;
//dbclass
query($sql))
{
$rs = mysql_fetch_array($result, mysql_both);
return $rs;
}
else { echo 数据查询失败; }
}
// 数据库查询执行语句
public function query($sql){
mysql_query(set names utf8);
return mysql_query($sql);
}
// loop 更具结果集 获取数组
public function loop_query($result){
return mysql_fetch_array($result);
}
//关闭数据库连接
public function close(){
return mysql_close();
}
}
}
?>

------解决方案--------------------
 //  根据查询条件获取 $sql 结果集     
public function fetch_array($sql){    
    if($result = $this->query($sql)) {    //用while之后 这个判断一直都是成立的 所以就成死循环了       $rs = mysql_fetch_array($result, mysql_both);            
       return $rs;                        
     } else { 
       echo 数据查询失败;
     }                   

------解决方案--------------------
while($yytable_array = $db->fetch_array($sql_yytable)){
总是在执行查询 $db->fetch_array($sql_yytable) 并总是能返回第一条结果
你的这个 fetch_array 方法只能用于查询一条记录的场合
你应该再写一个 fetch_all 方法,查询并返回全部结果
------解决方案--------------------
public function fetch_all($sql){
    if($result = $this->query($sql))
    {
      while($r = mysql_fetch_array($result, mysql_both)) {
        $res[] = $r;

其它类似信息

推荐信息