Odkąd zadałem to pytanie wieki temu, pomyślałem, że powinienem je zaktualizować, wprowadzając dodatkowe wyjaśnienie, mówiąc:to, co zrobiłem najpierw z pętlą foreach, działa. Zastrzeżeniem jest to, że działa tylko w PHP 5.4+, ponieważ wtedy mysqli_result klasa zaimplementowana Przejezdna berło. Oznacza to, że możesz go iterować, używając pętli foreach w późniejszych wersjach PHP.
Ta zmiana najwyraźniej nie była zbyt dobrze znana w momencie, gdy opublikowałem moje pytanie (połowa 2013 r.), prawdopodobnie ze względu na fakt, że tak wiele serwerów w Internecie nadal używa wersji 5.3 — prawdopodobnie dlatego, że jest to najnowsza wersja PHP dostępna dla Ubuntu 12.x — który ogranicza jego użyteczność do ostatnio zaktualizowanych serwerów. Ale kiedy jesteś w środowisku, które to obsługuje, jest to całkowicie poprawna technika do użycia.