Użyj tego kodu:
$rows = array();
if ($type == 'assoc') {
while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
} else {
while($row = $result->fetch_object()) {
$rows[] = $row;
}
}
return $rows;
Używasz return wewnątrz while i return kończy pętlę while po pierwszej iteracji, dlatego otrzymujesz tylko jeden wiersz.