Hi!
Denn besser (im Sinne von Stil und Performance) geworden ist es nun auch nicht. Jetzt befragst du das DBMS zweimal hintereinander mit der gleichen Frage. MySQL kann optimieren,
Der PHP-Programmierer kann noch besser optimieren, indem er anstelle der zweiten DB-Abfrage einfach mysql_data_seek aufruft.
Stimmt, das ist in dem Fall sogar in Bezug auf Speicherverbrauch besser, denn die MySQL-API führt unsichtbar bereits beim mysql_query() einen Fetch aller Daten durch und legt sie in einem nichtöffentlichen Puffer ab. Die Fetch-Funktionen greifen auf diesen Puffer zu, statt das Ergebnis direkt beim Server abzuholen. Deshalb sind auch solche Funktionen wie mysql_data_seek() und mysql_num_rows() verwendbar. Im Gegensatz dazu gibt es die Möglichkeit, ungepufferte Abfragen zu starten, muss dann aber auf die genannten Funktionen verzichten (beziehungsweise kann mysql_num_rows() erst nach vollständigem Fetchen sinnvoll verwenden.)
Lo!