mysql_fetch_object?



  • Hallo,
    ich benutze eigentlich nur noch mysql_fetch_object um Datensätze abzufragen. Ich finde das Handling einfach total easy und sauber. Da ich hier aber immer nur mysql_fetch_row oder mysql_fetch_array sehe gehe ich mal davon aus, dass mysql_fetch_object nicht so gut bzw. beliebt ist. Welche Gründe hat das?
    MfG

    Tobsen


  • Mod

    es ist sicher besser als fetch_array - aber da OOP nicht so weit verbreitet ist unter PHP ist es natuerlicher ein array (fetch_assoc) zu verwenden, bzw. ist es mit fetch_row auch recht einfach:

    res=mysqlquery("selecta,bfromfoowherebar");list(res=mysql_query("select a,b from foo where bar"); list(a,b)=mysql_fetch_row(b)=mysql\_fetch\_row(res);

    das gefaellt mir zB auch recht gut 🙂

    ansich gibt es aber keinen mir bekannten grund warum man nicht fetch_object verwenden sollte - nur IMHO laesst sich fetch_assoc besser in einer klasse verstecken als fetch_object

    Bsp:

    function get($what)
    {
      if(isset($this->row[$what])) return $this->row[$what];
      raise_exception(EXCPT_MYSQL,'Invalid Column Name');
    }
    

    mit fetch_object waere das nicht so schoen moeglich...

    und wir haben doch alle unsere db wrapper, oder? 😉


  • Mod

    PS:
    es kann bei fetch_object natuerlich namensprobleme geben - wenn eine column einen fuer PHP illegalen namen traegt...

    bei joins koennte dies probleme geben...

    ich verwende fetch_object nicht, daher ist das jetzt nur geraten, ob es praxisrelevant ist kann ich nicht beurteilen (es gibt ja schiesslich in mysql ein 'as')


Anmelden zum Antworten