while($row = mysql_fetch_array($sql))改成封装就出错
while($row=mysql_fetch_array($sql))中的$row=mysql_fetch_array($sql)换成封装的函数就出错。比如换面:$row...
while($row = mysql_fetch_array($sql))中的$row = mysql_fetch_array($sql)换成封装的函数就出错。比如
换面:$row= $aaaa->fan();
while($row){}就会出错,我$aaaa->fan是封装有验证过的,不在while里是可以正常得到想要的效果,但是放到while里当条件就出就不动了! 展开
换面:$row= $aaaa->fan();
while($row){}就会出错,我$aaaa->fan是封装有验证过的,不在while里是可以正常得到想要的效果,但是放到while里当条件就出就不动了! 展开
1个回答
2014-04-04
展开全部
$aaaa->fan();得到的数据格式是什么?
字符串?还是数组?
如果是字符串,那就邪门了!
如果是数组,foreach遍历数组远比while循环更靠谱!
class mysql{
function fan( $sql ) {
$Rule = mysql_query( $sql );
while( $row = mysql_fetch_array( $Rule ) ) {
$rs[] = $row;
}
return $rs;
}
}
//上面的代码不够完善,只是一个逻辑演示而已
$aaaa = new mysql;
$sql = 'sql语句';
$Row = $aaaa -> fan( $sql );
//这个时候,$Row就是一个多维数组,而不是对象了, 那处理这个数组,显然用while就不怎么靠谱, php中,对数组的处理, foreach循环那是相当的理想!
foreach ( $Row as $rs ) {
echo $rs['字段名称'];
}
追问
fan(){
$res = mysql_query($sql, $this->conn) or die(mysql_error());
$arr=mysql_fetch_array($res);
mysql_free_result($res);
return $arr;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询