while($yytable_array = $db->fetch_array($sql_yytable))
首先考虑$sql_yytable这个sql语句是错误的 这个时候 将返回 “数据查询失败"while语句内是一个付值表达式 所以永远为真
首先考虑$sql_yytable这个sql语句是错误的 这个时候 将返回 “数据查询失败"while语句内是一个付值表达式 所以永远为真
public function fetch_array($sql){
if($result = $this->query($sql)) { //用while之后 这个判断一直都是成立的 所以就成死循环了 $rs = mysql_fetch_array($result, MYSQL_BOTH);
return $rs;
} else {
echo "数据查询失败";
}
}
总是在执行查询 $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;
}
return $res;
} else { echo "数据查询失败"; }
}当然这样返回的是数组,你得按数组做后续工作