Also, laut php.net ist mysql_result nicht sonderlich schnell, und wenn mysql_fetch_assoc schneller ist (bzw. die verwandten versionen mysql_fetch_array usw.), dann kann ich auch mysql_fetch_assoc nehmen.
Zur Frage:
Der Code oben funktioniert 1a, meine Frage:
Muss ich $nickname noch als Array definieren bevor ich es zum Array mache (durch mysql_fetch_assoc?
In dem Script wäre das jetzt etwas blöd, da es ja als Array gespeichert wird und danach als Array definieren wäre humbug.
Muss ich $nickname als Array definieren für "sauberes" PHP? Oder ist das egal?
Dennis
PS: Warum sind die Codetags durch [*TT*] gekenzeichnet? Was soll den TT heißen?
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Also, laut php.net ist mysql_result nicht sonderlich schnell, und wenn mysql_fetch_assoc schneller ist (bzw. die verwandten versionen mysql_fetch_array usw.), dann kann ich auch mysql_fetch_assoc nehmen.
...
Jain. Wenn du nur einen einzelnen Wert auslesen willst, ist mysql_result() AFAIK die Schnellste oder zumindest kongeniale Lösung.
Sobald du aber gleich mehrere Felder abgreifen willst, oder sogar mehrere Datensätze ausgeben, sind die arrayerzeugenden Funktionen die schnelleren Lösungen:
mysql_fetch_assoc(), mysql_fetch_row(), mysql_fetch_array()
Ist also Fallabhängig.
mysql_fetch_row ist von den Dreien die schnellste Variante, nur ist die Funktion fehleranfälliger als die anderen beiden, weil hier die Felder nicht mit Namen im Arraykey angesteuert werden, sondern über selbstinkrementierende Arraykeys. Ändert sich die Reihenfolge der Felder in der Datenbank (du fügst ein Feld irgendwo zwischen ein) verschieben sich auch die Werte hinter den Arraykeys entsprechend...
Zugegeben: Klingt kompliziert.
Zitat von dennis_meckel
Zur Frage:...
...
Nope, brauchst du nicht. Ich hab auch noch in keinem Script, das mir je untergekommen ist, gesehen dass das gemacht wurde.
PHP ist extrem flexibel wenn es um Variablendeklaration geht. PHP erkennt selbst ob eine Variable einen String, einen integer, einen Bool'schen Integer ist, oder ob es sich bei einer Variable um einen Array handelt.