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里当条件就出就不动了!
展开
 我来答
匿名用户
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;
}
追答

php有这种语法吗?

我怎么不知道?

看来我还是out了!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式