Usa este código:
$rows = array();
if ($type == 'assoc') {
while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
} else {
while($row = $result->fetch_object()) {
$rows[] = $row;
}
}
return $rows;
Está utilizando return dentro de while y return finaliza el ciclo while después de la primera iteración, por eso obtiene solo una fila.