$qst_id=$_GET['str'];if($qst_id){$qst_sql="SELECT*FROMexam_qstWHEREqst_id='$qst_id'";$query=$conn->query($qst_sql);$row=$query->fetch_array();$length=sizeof($row)/5;$a=0;while($aclose();}$conn->close();如代码,每次查询数据库应该取出多行数据,但是mysqli_fetch_array跟mysqli_fetch_row似乎都只能返回一行数据。请问如何能将查询到的所有数据全部装到一个数组里。
2 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
$qst_id=$_GET['str'];if($qst_id){$qst_sql="SELECT*FROMexam_qstWHEREqst_id='$qst_id'";$query=$conn->query($qst_sql);$row=$query->fetch_all();foreach($rowas$vl){echo""; ".$vl[1]." ".$vl[2]." ".$vl[5]." ".$vl[4]." ".$vl[6]." }$query->close();}确实是需要遍历所有的结果集,自己用foreach来执行并成功返回了。还是谢谢@捞鱼的转阿转
喵喵时光机
TA贡献1846条经验 获得超7个赞
话说是mysql__fetch_array和mysql_fetch_row吧。他俩功能差不多,都是已数组的形式返回一行数据。所以返回一行是没错的。你需要的是遍历所有的结果集,需要通过循环的帮助。下面的给你参考php/***获取执行SQL所有数据*@param[type]$sql待执行*@return[type]执行返回结果*/publicfunctionfetchAll($sql){if($result=$this->query($sql)){$rows=array();while($row=mysql_fetch_row($result)){$rows[]=$row;}mysql_free_result($result);return$rows;}else{returnfalse;}}
添加回答
举报
0/150
提交
取消