Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Ungültiges Argument bei Join

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Ungültiges Argument bei Join

    Hallo,

    ich versuche mich an meinem ersten Join. Verfügbare Quellen habe ich durch und finde trotzdem den Fehler in meiner Abfrage nicht.

    Meine Abfrage sieht so aus:

    $abfrage = "SELECT * FROM forum RIGHT JOIN jakob_user.name jakob_user.img jakob_user.signatur ON forum.poster = jakob_user.name WHERE thread LIKE '$thisthread' ORDER BY timecode";

    Fehlermeldung

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource

    Das Script listet in einer while-Schleife die einzelnen Beiträge zu einem Thema in einem Forum auf. Die Tabelle "forum" enthält die Beiträge sowie unter "poster" den Beneutzernamen des Authors. Über den Join versuche ich, aus der Tabelle "jakob_user" den Pfad zum Avatar und die Signatur in der Schleife verfügbar zu machen. Der abgleich zwischen den Tabellen erfolgt über den Benutzernamen: forum.poster = jakob_user.name.

    Ich habs wirklich auf eigene Faust versucht, aber ich komme nicht dahinter. Hat jemand einen heißen Tipp?

    Danke für Eure Hilfe.

  • #2
    Hm, sicher, dass Du die Quellen alle verstanden hast, die Du gelesen hast? Hier ist nochmal eine:

    MySQL :: MySQL 5.5 Reference Manual :: 7.2.10 LEFT JOIN and RIGHT JOIN Optimization

    Schau Dir nochmal die Syntax an! Ist das hier richtig (der Vergleich): forum.poster = jakob_user.name??

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Wenn ich es richtig verstanden habe, ja. Der Benutzername wird in der Tabelle "forum" im Feld "poster" abgespeichert.

      In der User-Datenbank steht der Benutzer im Feld "name".

      Kommentar


      • #4
        ...warum hast du dann 3 Tabellennamen hinter RIGHT JON stehen?

        "..von Daten einer Tabelle gemeint, im Bezug auf die Verbindung zu einer anderen Tabelle."

        (Quelle:SQL Tutorial - LEFT JOIN / RIGHT JOIN)

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Danke für deine Hilfe übrigens

          Das sind Feldnamen - oder sollten es zumindest sein.

          Wenn ich nur den Tabellennamen hinschreibe, bleibt der Fehler allerdings auch.

          Kommentar


          • #6
            Poste bitte mal den relevanten Code und bei "WHERE thread LIKE '$thisthread'" muss vor das thread noch der Tabellenname, z.B. so: tabelle1.thread = '...'

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Zitat von Bender30161 Beitrag anzeigen
              Fehlermeldung

              Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource
              Das ist nur ein in PHP auftretender Folgefehler, weil die Datenbank ihm nichts zurückgeliefert hat, das sich entsprechend auswerten liesse - weil schon seitens der Datenbank ein Fehler auftrat.

              Hat jemand einen heißen Tipp?
              Werte die Rückgabe von Funktionen, die mit der Datenbank kommunizieren, aus, um zu erfahren, ob ein Fehler aufgetreten ist.
              Und wenn ja, dann frage bei der Datenbank explizit nach, welchen Fehler sie zu melden hat.
              [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

              Kommentar


              • #8
                Zitat von ChrisB Beitrag anzeigen
                Werte die Rückgabe von Funktionen, die mit der Datenbank kommunizieren, aus, um zu erfahren, ob ein Fehler aufgetreten ist.
                Und wenn ja, dann frage bei der Datenbank explizit nach, welchen Fehler sie zu melden hat.
                Danke, dass war der entscheidende Hinweis. Die Collation der zu vergleichenden Felder war unterschiedlich.

                Kommentar

                Lädt...
                X