Hubert: mysql_fetch_object vs. mysql_fetch_assoc

Hi!

man kann MySQL-Daten ja sowohl in ein Objekt (mysql_fetch_object) als auch in ein Array (mysql_fetch_assoc) laden, aber was ist denn für den einmaligen Gebrauch besser?

Welche Vor-/Nachteile haben Arrays/Objekte hier?
Was ist schneller, was verbraucht mehr Systemleistung, oder welche Gründe gibt es sonst noch für eines der beiden?

Danke
Hubert

  1. Hallo,

    Also die SQL-Verbindung und Abfrage benötigt sowieso
    überproportional mehr Systemleistung als dein PHP-Script.
    Ob du nun ein Objekt oder Array verwendest, ist also
    egal.

    Aus rein dekorativen Gründen empfiehlt sich natürlich
    eine Objekt-Variable. Und für die einmalige Verwendung
    spielt es ja auch keine Rolle daß das Objekt dann keine
    Methoden hat oder tatsächlich in einer OOP-Hierarchie
    verwendet wird.

    Beste Grüße!

  2. Moin!

    man kann MySQL-Daten ja sowohl in ein Objekt (mysql_fetch_object) als auch in ein Array (mysql_fetch_assoc) laden, aber was ist denn für den einmaligen Gebrauch besser?

    Das, was dir besser in den Kram paßt.

    Bei mir wär's das Array.

    Welche Vor-/Nachteile haben Arrays/Objekte hier?

    Arrays lassen sich in PHP4 mit foreach durcharbeiten, Objekte nicht. Aber da PHP4 ja sowieso zum Ende des Jahres nicht mehr weiterentwickelt wird und ab dem 8.8.08 auch keine Sicherheitspatches mehr kriegt, sollte das bei PHP5 kein zu starkes Argument sein.

    Ein Argument pro Objekt bei PHP5 und mysqli ist, dass man sich auch eine Instanz einer anderen, existierende Klasse zurückgeben lassen kann, was mutmaßlich in einer OOP-Programmierung gewisse Vorteile hat. Wenn man diese Vorteile nicht benötigt, ist das allerdings kein Pro-Argument.

    Was ist schneller, was verbraucht mehr Systemleistung, oder welche Gründe gibt es sonst noch für eines der beiden?

    Du sprichst von einmaligem Gebrauch. Da dürfte keiner dieser Aspekte relevant sein. Ansonsten: Miß nach, was schneller oder speichersparender ist.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."