mysql_fetch_array() oder mysql_fetch_object()?

Diskutiere mit über: mysql_fetch_array() oder mysql_fetch_object()? im Web-Programmierung Forum

  1. Der_Jan

    Der_Jan Thread Starter MacUser Mitglied

    Beiträge:
    606
    Zustimmungen:
    7
    Registriert seit:
    06.01.2004
    Bis heute frage ich meine MySQL per mysql_fetch_array() ab - klappt wunderbar - keine Probleme. Ich habe bei anderen Projekten nun häufiger gesehen, dass Kollegen mit mysql_fetch_object() arbeiten. Ich natürlich neugierig, was wohl der Unterschied ist. Okay, das eine erstellt einen Array, das andere ein Objekt. Besteht irgendeine Notwendigkeit (Sicherheit, Serverbelastung???), künftig nur noch mit mysql_fetch_object() zu arbeiten. Man will ja mit der Zeit gehen ;)

    Danke & Gruß
    Der Jan
     
  2. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    mysql_fetch_array() ist immer dann ein Problem, wenn Du die Reihenfolge der Spalten änderst die Du abfragst. Nett ist auch eine Änderung der Tabelle und dann weiter eine Abfrage mit "select *" und fetch_object. Dann KANN es passieren, daß in einer vermeintlichen Peisspalte z.B. der Mwst-Satz steht.

    Mit Objekten greifst Du halt eindeutig per Name zu:
    $result->preis

    Das ist einfacher und robuster gegen Änderungen! Vor allem in Bezug auf die Wartung von Skripten die auf diese Spalten zugreifen.
     
  3. Nachtschatten

    Nachtschatten MacUser Mitglied

    Beiträge:
    299
    Zustimmungen:
    3
    Registriert seit:
    27.01.2006
    Kann meinen Vorredner nur zustimmen, allerdings solltest Du bei großen DB mit vielen Spalten daraufh achten, das Object ein kleiner "Speicherverschwender" werden kann.

    Wenn Du nicht vorhast, ständig die Spaltenreihenfolge zu ändern, würde ich zwecks Performance und Speicherverbrauch, auf fetch_array() setzen.
     
  4. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Das stimmt, man kommt dann aber an die Grenze wo man sich fragt, ob die Investition in "die paar Bytes" nicht durch die gewonnene Stabilität wieder ausgeglichen werden. Ich Kapsele beizeiten spezielle Tabellen komplett in Objekten, inklusive Zugriffsmethoden. Dies bei Tabellen bei denen jede Zeile 2-3KB hat und durchaus im Schnitt einige 100 davon je Abfrage zusammenkommen können. Ich kann eine solche Kapselung nur empfehlen, den Preis dafür hat Nachtschatten allerdings genannt!
     
  5. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.774
    Zustimmungen:
    3.629
    Registriert seit:
    23.11.2004
    und wer hindert dich bei einem array mit $result[preis] zu arbeiten? ;)
     
  6. 2nd

    2nd MacUser Mitglied

    Beiträge:
    8.902
    Zustimmungen:
    242
    Registriert seit:
    25.07.2004
    So arbeite ich z. B. und bekomme auch bei nachträglichen Änderungen in der DB keine Probleme mit den Feldern...

    2nd
     
  7. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004

    Ich hindere mich ;)
    weil ich die Tabellen komplett in Objekten kapsele (s.o.) !
     
  8. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.774
    Zustimmungen:
    3.629
    Registriert seit:
    23.11.2004
    das sollte auch nur sagen, dein beispiel war jetzt kein gutes argument warum man das machen sollte ;)
     
  9. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
  10. Nachtschatten

    Nachtschatten MacUser Mitglied

    Beiträge:
    299
    Zustimmungen:
    3
    Registriert seit:
    27.01.2006
    Begebe mich jetzt auf glattes Eis, aber ist es nicht so das man array sinnvoll bei SELECT bla1, bla2, bla3 .... anwendet und Object bei der "faulen" Abfrage Select * ... ?
     
Die Seite wird geladen...
Ähnliche Themen - mysql_fetch_array() oder mysql_fetch_object() Forum Datum
Links zu Ordnern und/oder files verschicken á la DropBox Web-Programmierung 05.12.2014
MAMP oder OS X eigenes PHP Web-Programmierung 19.01.2011
mSpot oder audiobox.fm selbst aufsetzen? Web-Programmierung 02.01.2011
Neue homepage html 5 oder Flash? Web-Programmierung 03.06.2010
mysql_fetch_array() liefert nur Strings Web-Programmierung 22.12.2009

Diese Seite empfehlen

Benutzerdefinierte Suche