Nun, wie man es auch macht, es kann immer Vor- und auch Nachteile haben.
Beispiel:
Man will das gleiche Query mehrfach verwenden aber die Reihenfolge jedesmal anders haben.
Dann ist es angebracht es so zu machen wie Loomis sein Beispiel zeigt.
Man könnte allerdings das Abfrageergebnis auch in ein Array packen und bei der Ausgabe nach seinen Wünschen sortieren, was aber unnötige Rechenzeit kostet, da das Ergebnis im Grunde nichts anderes ist als wie Loomis sein Beispiel.
Wenn man das gleiche Query mehrfach verwenden will und die Reihenfolge immer die gleiche sein soll, ist es anzuraten die Spalten im Query zu sortieren und über die foreach-Schleife auszugeben.
Vorteil liegt hier darin, dass man die Reihenfolge zentral ändern kann.
Man kann natürlich auch die Reihenfolge im Query "vorsortieren" um sie dann an vereinzelten Stellen in anderer Reihenfolge auszugeben oder nur einen Teil auszugeben.
Ich persönlich nutze fast nur "SELECT * from `tabelle`....." und gebe das Abfrageergebnis mit $row['spaltenname'] aus.
Nachteil: es werden immer alle Spalten selektiert..... auch dann wenn ich nur eine Spalte benötige.
Ist also keine optimale Lösung.
Für den "Hausgebrauch" langt es aber..... und ich muss nicht "unnötig" lernen.
Dazu muss ich aber auch sagen dass min. 95% meiner Projekte nur intern genutzt werden..... Fremdzugriffe finden also nicht statt.