Mailinglisten-Archive |
Marian Steinbach wrote: > Ich habe erst vor ein paar Tagen einen einfachen Vergleich zwischen > den mysql_*-Funktionen, MDB2 und PDO (unter PHP 5.2.1) gemacht und > überrascht festgestellt, dass die mysql_* Funktionen die langsamste > Variante von den dreien war. Am schnellsten war PDO, insbesondere > durch funktionsloses Iterieren durch Ergebnis. (Sprich: anstelle von > while ($row = mysql_fetch_row()) nimmt man in PDO "foreach". Wer dazu > noch das gesamte Abfrageergebnis in einem einzigen Aufruf in ein > PHP-Array zieht, ist noch schneller.). Ich würde foreach nicht unbedingt benutzen: $sql = "SELECT * FROM table WHERE id = ?"; $query = $pdo->prepare($sql); $query->execute(array($id)); foreach ($query->fetch(PDO::FETCH_ASSOC) as $row) { Wenn du jetzt keinen passende Tupel in der DB hast, liefert fetch() false zurück, damit kann forech nix anfangen und wirft einen PHP Fehler. fetchAll() dürfte langsamer sein, ich würde hier auch also auch auf while ($query->fetch() setzen. Gruss, Martin
php::bar PHP Wiki - Listenarchive