关于mysqli_fetch_row一次只能返回一行数组

$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($a<$length){
$i=0;
echo"";
while($i<5){
$j=$i++;
echo"$row[$j]";
}
echo"";
$a++;
}
$query->close();
}
$conn->close();
如代码,每次查询数据库应该取出多行数据,但是mysqli_fetch_array跟mysqli_fetch_row似乎都只能返回一行数据。请问如何能将查询到的所有数据全部装到一个数组里。
慕慕森
浏览 388回答 2
2回答

海绵宝宝撒

$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来执行并成功返回了。还是谢谢@捞鱼的转阿转

喵喵时光机

话说是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;}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript