tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
477
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    Hallo Leute,

    ich grübel jetzt schon eine Weile, finde aber den Fehler nicht. Vielleicht bin ich auch einfach nur Blind...

    Code :
    1
    2
    3
    4
    5
    6
    
    SELECT a.*,b.name AS servername,c.name AS rassename,d.name AS sexname
        FROM characters AS a
        INNER JOIN server AS b ON a.serverID=b.id
        INNER JOIN rasse AS c ON a.rasse=c.id
        INNER JOIN sex AS d ON a.sex=d.id 
        WHERE a.userID='".$_SESSION['userid']."'

    Erläuterung:
    Tabelle a (characters) enthält id, name, serverID, rasse, sex, level
    Tabelle b (server) enthält id, name
    Tabelle c (rasse) enthält id, name
    Tabelle d (sex) enthält id, name

    Eigentlich will ich alle Einträge aus a (characters) wo die userID der Session entspricht.
    Bei b, c, d steht jeweils eine ID für einen bestimmten Namen, den ich halt statt der ID am Ende gerne hätte...

    gruß
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Der Code hat keinen direkten Fehler.

    Was geht denn nicht? Beschreibe den 'Fehler' mal genauer.
    Gibts eine Fehlermeldung?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    Ich hab ne Seite mit Smarty laufen...
    Code :
    1
    
    SELECT * FROM characters WHERE a.userID='".$_SESSION['userid']."'
    funktioniert einwandfrei... Möchte nun aber statt den IDs halt die passenden Namen zu den IDs haben.

    Vorher funktioniert die Ausgabe in Smarty normal, nun wird einfach nichts übergeben - wie es aussieht...
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Da die diese Art von Fragen sehr oft kommt, habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
    [PHP] [MySQL] Debug Queries
    Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.

    Eine Idee:
    Du verbindest alle mit INNER JOIN. Wenn eines der Verknüpfenden Felder leer ist oder in einer der Detail-Tabellen der Eintrag fehlt, dann findet er nix.
    Wechsle mal alle deine INNER JOIN durch LEFT JOIN aus.
    Lime bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    374
    Ich kenn bisher nur INNER JOIN, vielleicht liegt darin das Problem.
    Passt soweit aber auch, weil immer ein Eintrag vorhanden ist (beim INSERT wird aus einer Dropdown gewählt).

    Habe den Fehler gefunden.... wieder sehr banal. In der Characters-table war noch aus früherer Zeit bei der Spalte 'sex' ein m für Männlich, statt eine 1 ...

    Dein Tutorial schau ich mir dennoch noch einmal an!

    Gruß und Danke, Lime
     

Ähnliche Themen

  1. Fehlerhafte Darstellung im IE
    Von Splater im Forum CSS
    Antworten: 1
    Letzter Beitrag: 01.08.11, 21:14
  2. Fehlerhafte Startseite im IE
    Von viellärmumnichts im Forum HTML-Editoren
    Antworten: 9
    Letzter Beitrag: 17.11.07, 23:47
  3. Fehlerhafte Umlaute
    Von spex im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 28.10.07, 14:03
  4. fehlerhafte addition?
    Von Gaius im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 12.08.04, 15:01
  5. Fehlerhafte Suche
    Von BladeNeo im Forum PHP
    Antworten: 2
    Letzter Beitrag: 30.06.04, 10:00