需要PHP显示多行,但它只显示最后一行

需要PHP显示多行,但它只显示最后一行,php,mysql,mysqli,Php,Mysql,Mysqli,下面代码的输出仅显示数据的最后一行。有什么想法吗?我想让它显示所有的行 代码如下: $FinalSet = array(); while ($ResultSet = mysqli_fetch_array($Query)){ $FinalSet = array( 'idExam' => $ResultSet[0], 'SubjectName' => $ResultSet[1], 'ExamTime' => $ResultSet[2], 'ExamDate' => $R

下面代码的输出仅显示数据的最后一行。有什么想法吗?我想让它显示所有的行

代码如下:

$FinalSet = array();
while ($ResultSet = mysqli_fetch_array($Query)){

 $FinalSet = array(
'idExam' => $ResultSet[0],
'SubjectName' => $ResultSet[1],
'ExamTime' => $ResultSet[2],
 'ExamDate' => $ResultSet[3],
 'IntakeCode' => $ResultSet[4],
'Scope' => $ResultSet[5],
);
 }

 echo json_encode($FinalSet);

尝试此操作,您可以使用
$FinalSet[]
或将数组内容推送到主数组中。目前,您正在替换相同的循环计数数组。因此,您将获得变量中的最后一个数组值

$FinalSet[] = array(
     'idExam' => $ResultSet[0],
     'SubjectName' => $ResultSet[1],
     'ExamTime' => $ResultSet[2],
     'ExamDate' => $ResultSet[3],
     'IntakeCode' => $ResultSet[4],
     'Scope' => $ResultSet[5]
 );
而不是

$FinalSet = array(
     'idExam' => $ResultSet[0],
     'SubjectName' => $ResultSet[1],
     'ExamTime' => $ResultSet[2],
     'ExamDate' => $ResultSet[3],
     'IntakeCode' => $ResultSet[4],
     'Scope' => $ResultSet[5],
 );

您必须将它们添加到阵列中。目前,您正在替换阵列本身

您可以使用

$FinalSet[] = array(
而不是

$FinalSet = array(
您还可以使用array_push,其功能与此相同:

array_push($FinalSet, array(......));

在循环中尝试以下操作:

while (...) {  
   $FinalSet[] = array(...);
}

您已经初始化$FinalSet=array();您将数据存储在单个索引中,因此您的数据已被覆盖,并且您找到了数据的最后一行。现在可以使用$FinalSet[]而不是$FinalSet。您将获得所有数据。

尝试
$FinalSet[]=array(
请养成解释问题所在以及解决方案工作原因的习惯。这有助于获得更好的答案。@Sverri,谢谢。我是Stack新手,我将尽最大努力提供准确的解决方案