Kurze Frage vom Anfänger...

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

  • Kurze Frage vom Anfänger...

    Hallo,

    ich weiß das ich mit diesem Thread nun allen endgültig auf die Nerven gehe, da ich aber ein Anfänger bin, hoffe ich,
    nicht zu sehr beschimpft zu werden :-)

    Es geht auch wieder um "JOIN" ,
    jedoch funkt das bei mir nicht.
    Ich möchte gerne auch 2 Tabellen auslesen und den Wert "name" der vorher beim Formular eingegeben wurde, durchsuchen ( bei den Tabellen bilder_berliner_traber und bilder_ni_traber ).
    Folgendes habe ich gebastelt:


    $res = $db->query("
    SELECT * FROM bilder_berliner_traber b1 INNER JOIN bilder_ni_traber b2
    ON b1.name = b2.name
    WHERE b1.name = '".$_POST[name]."'");
    while($row=$db->fetch_array($res)) {
    ..
    }

    Geht aber nicht..
    Danke im Voraus..

    SpeedyOne

  • #2
    Re: Kurze Frage vom Anfänger...

    Original geschrieben von SpeedyOne
    Geht aber nicht..
    Fehlermeldung

    Forumregeln!

    Gute PHP-(tutorial-)Seiten

    Kommentar


    • #3
      Hallo,

      danke für Deine Antwort.
      Es kommt keine, es wird komischerweise nur 1 Datenbank ausgelesen...
      Das Ergebnis kommt also nur von 1 Datenbank, wenn aber jetzt der gesuchte Begriff, z.B. in DB2 ist, dann wird dieser nicht gefunden, nur die Begriffe die in DB1 sind.
      Wie würde denn der korrekte Code dafür lauten ?
      Vielen Dank für Eure Mühe.
      Schönen Sonntag noch.

      SpeedyOne

      Kommentar


      • #4
        Original geschrieben von SpeedyOne
        Hallo,

        danke für Deine Antwort.
        Es kommt keine, es wird komischerweise nur 1 Datenbank ausgelesen...
        Das Ergebnis kommt also nur von 1 Datenbank, wenn aber jetzt der gesuchte Begriff, z.B. in DB2 ist, dann wird dieser nicht gefunden, nur die Begriffe die in DB1 sind.
        Wie würde denn der korrekte Code dafür lauten ?
        Vielen Dank für Eure Mühe.
        Schönen Sonntag noch.

        SpeedyOne
        Jo.. INNER JOIN liefert nur ausgaben, die auch absolut übereinstimmen!
        LEFT JOIN dagegen liefert sofern - NOT NULL - auch 0 Werte...

        Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
        sondern mit den Augen das Manual zu lesen.

        Kommentar


        • #5
          Hallo,

          ich glaube jetzt weiß ich den Fehler.
          Nochmals zur Funktion,
          ich habe 2 Tabellen,
          z.B. TB1 und TB2, in beiden Tabellen gibts das Feld "name".
          Jetzt möchte ich die 2 Tabellen ( TB1 und TB2 ) nach dem Feld "name" durchsuchen.
          Wie lautet da die Abfrage ?
          Dafür ist doch JOIN nicht da oder wie?

          Kommentar


          • #6
            Dafür ist doch JOIN nicht da oder wie?
            hmm,
            so, wie du es beschreibst, wohl nicht ...

            mach einfach zwei select, einen pro tabelle ....
            Code:
            SELECT id eid
            FROM tab1
            WHERE name = 'DEIN_SUCHWORT'
            UNION
            SELECT id zid
            FROM tab2
            WHERE name = 'DEIN_SUCHWORT'
            oder so.

            oder stehen die tabellen in irgendeiner beziehung zu einander?
            Zuletzt geändert von derHund; 25.07.2004, 20:03.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Hi,

              habe folgendes:

              Code:
              SELECT * FROM bilder_berliner_traber WHERE name = '".$_POST[name]."' UNION SELECT * FROM bilder_ni_traber WHERE name ='".$_POST[name]."'");
              Jedoch kommt als Fehlermeldung:

              SQL Abfrage ist ungültig. You have an error in your SQL syntax near 'UNION SELECT * FROM bilder_ni_traber WHERE name ='test2'' at line 1

              Was nun?

              Kommentar


              • #8
                deine mysql version?
                < 4?
                beide queries getrennt ausführen, ohne UNION.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Hi,

                  ja ich habe die MySQL Version 3.23.55 !
                  Nun habe ich zwei Abfragen gemacht:

                  Code:
                  $res = $db->query("SELECT * FROM bilder_berliner_traber WHERE name = '".$_POST[name]."'");
                  while($row=$db->fetch_array($res) or mysql_error()) {
                  
                  $res2 = $db->query("SELECT * FROM bilder_ni_traber WHERE name ='".$_POST[name]."'");
                  while($row=$db->fetch_array($res2) or mysql_error()) {
                  ...
                  }}

                  Es funkt aber trotzdem net.. warum ??? Ich verzweifle..
                  Ich möchte doch nur 2 Tabellen nach dem gleichen Namen abfragen....*Heul*...

                  Kommentar


                  • #10
                    Hallo,

                    durch hilfe eines Freundes funkts nun...
                    Danke an alle..

                    Kommentar

                    Lädt...
                    X