PHP Problem mit MySQL Tabellenreferenz

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Problem mit MySQL Tabellenreferenz

    Hallo,

    ich bin noch ein Anfänger in Sachen PHP und stehe leider seit einigen Tagen vor einem Problem. Ich habe eine Anwendung gebastelt, bei der sich mehrere Benutzer einloggen können. Die Userdaten werden in die Tabelle "User" geschrieben und sieht ungefähr so aus.

    Tabelle User:

    ID: (autoincrement)
    loginname:
    password:
    vorname:
    nachname:
    email:
    etc ...

    das funktioniert soweit alles gut. Nun gibt es innerhalb des Loginbereichs eine Seite meine_band.php. Dort sollen die verschiedenen User ihre Band kurz vorstellen. Die Tabelle sieht so aus.

    Tabelle Bands:

    ID: (autoincrement)
    user_id:
    Bandname:
    Mitglieder:
    etc...

    Das Feld user_id soll dann die ID aus Tabelle "user" aufnehmen und so möchte ich die eindeutige Zuweisung realisieren. Ich weiß nicht, ob das richtig ist und ob man das so macht!? (Mein erstes Problem, vielleicht habt ihr ja Tips wie ihr das macht)

    Jedenfalls habe ich für die Seite folgende Anweisungen geschrieben, um die user_id des momentan eingeloggten User in die noch leere Tabelle zu schreiben. Als Info, die Variable $user_ID ist immer vorhanden und beinhaltet die ID aus Tabelle "User".
    PHP-Code:
    <?php
    // Prüfe, ob in Tabelle Bands überhaupt schon ein Eintrag für diese user_ID ist
    $test $wpdb->get_var("SELECT user_ID FROM $wpdb->bands WHERE ID = $user_ID");
    // falls nicht, dann jetzt anlegen
    if ($test==0$wpdb->query("INSERT INTO $wpdb->bands (user_ID) VALUES ('$user_ID')");
    .
    .
    .
    .
    .
    //danach mache normal im Skript weiter mit der HTML Seite und Formular
    der Witz ist, das funktioniert für manche user und bei anderen trägt er die user_ID dann immer hintereinander ein, so dass ich mehrere Einträge mit der gleichen ID habe.

    Habt ihr ne Idee für mein Problem, ich danke schon mal im Voraus!

    Mat

  • #2
    Re: PHP Problem mit MySQL Tabellenreferenz

    die ganzen Variablen (vor allem wenn sie Objekte enthalten) würd ich außerhalb der Strings platzieren
    PHP-Code:
    'string ' $variable ' weiter'
    anstatt
    "string $variable weiter" 
    ansonsten, was macht denn get_var()? Ergebnis von num_rows returnen?


    Das Feld user_id soll dann die ID aus Tabelle "user" aufnehmen und so möchte ich die eindeutige Zuweisung realisieren. Ich weiß nicht, ob das richtig ist und ob man das so macht!? (Mein erstes Problem, vielleicht habt ihr ja Tips wie ihr das macht)
    Wenn du's mit JOINS machst, ist es richtig!

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Danke erstmal für deine Antwort. Soweit habe ich das jetzt zum laufen bekommen. Allerdings war mir das mit Joins zu kompliziert, bin halt noch ein Anfänger. Hatte vergessen in der DB das Feld auf Unique zu setzen, ein Tip, den ich vonwoanders bekam. Jetzt läuft es jedenfalls und ich danke dir trotzdem für deine Mühen!

      Mat

      Kommentar

      Lädt...
      X