Это идиотская функция.
Ни $count, ни несколько уровней (вложенных циклов, как я понимаю) здесь не нужны.
Она зачем-то перебирает полученный массив $row в цикле, чтобы получить в итоге точно такой же.
ТОГО ЖЕ САМОГО результата можно добиться кодом
function bdresult($queryResultSet){
$multiArray = [];
while ($row = $queryResultSet->fetchArray(SQLITE3_ASSOC)) {
$multiArray[] = $row;
}
return $multiArray;
}
без дурацкого перебора массива $row.
Эта функция запрашивает по очереди все строки, которые вернул запрос, и добавляет их в массив, который потом возвращает.
Несколько результатов вы получите при тех запросах, которые возвращают несколько результатов. Ваш Капитан Очевидность.