Sven Rautenberg: Assoziative Arrays dynamisch aufbauen (die 2.)

Beitrag lesen

Moin!

Das ganze möchte ich jetzt dynamisieren mit folgender Funktion:

  

>  function read() {  
>   Global $portal;  

// Globale Variablen sind böse. Jetzt machst du schon OOP, warum dann trotzdem so ein Müll?  
  

>    $group = $portal->var['group'];  

// Unnötiges Kopieren von Variableninhalten.  
  

>   $query = mysql_query("SELECT * FROM groups where id = '$group'");  

// Kein Escaping von $group - bist du unter allen Umständen sicher, dass da keine bösen Werte drinstehen können?  
// Außerdem ist SELECT * böse - selektiere die Werte, die du abfragen willst.  
  
/*  

>   $numfields = mysql_num_fields($query);  
>   While ($row = mysql_fetch_array($query)){  
>    for ($i=0; $i < $numfields; $i++) {  
>     $fieldname = mysql_field_name($query, $i);  
>     $this->var[$fieldname] = $row[$fieldname];  
>    }  
>   }  

*/  
// all das geht einfacher mit  
$this->var = mysql_fetch_assoc($query);  
// Du mußt nicht die einzelnen MySQL-Felder, ihre Namen und Inhalte ermitteln und kopieren, wenn es dafür schon eine Funktion gibt, die direkt ein assoziatives Array mit alledem holt.  
  

>   return $this->var;  

// fraglich ist, ob die Klasse tatsächlich eine Eigenschaft "var" benötigt. Wegen der Rückgabe sicher nicht.  

>  }  

- Sven Rautenberg

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