Ergebnis 1 bis 15 von 15

Thema: [MySQL] mysql_fetch_assoc() oder "Sonstiger Fehlerauslöser"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Diesmal kein Problem sondern eine btw. Frage ;)

    PHP-Code:
    $nickname mysql_query("SELECT id FROM dvd_listing_user WHERE nickname = '$nickname'");
    $nickname mysql_fetch_assoc($nickname);
    echo 
    $nickname['id']; 
    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?
    PHP-Code:
    $nickname[] // oder so ähnlich 
    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?

  2. #2
    Zitat Zitat von dennis_meckel
    PHP-Code:
    $nickname mysql_query("SELECT id FROM dvd_listing_user WHERE nickname = '$nickname'");
    $nickname mysql_fetch_assoc($nickname);
    echo 
    $nickname['id']; 
    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 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.

    Geändert von Chocwise (01.09.2005 um 15:38 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •