Entonces, dado que hice esta pregunta hace años, creo que debería actualizarla con alguna aclaración adicional diciendo esto:lo que hice primero con el ciclo foreach funciona. La advertencia es que solo funciona en PHP 5.4+, ya que es cuando resultado_mysqli class implementó el Traversable interfaz. Esto significa que puede iterar sobre él usando un bucle foreach en versiones posteriores de PHP.
Aparentemente, este cambio no era muy conocido en el momento en que publiqué mi pregunta (mediados de 2013), probablemente debido al hecho de que tantos servidores en Internet todavía usan 5.3, probablemente porque esa es la última versión de PHP disponible para Ubuntu. 12.x, que limita su utilidad a los servidores actualizados recientemente. Pero cuando estás en un entorno que lo admite, esta es una técnica totalmente válida para usar.