Problem mit mysql_fetch-array

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

  • Problem mit mysql_fetch-array

    Hi,

    ich habe ein kleines Problem mit der Fehlermeldung mysql_fetch_array.

    Hier ma mein quellcode:
    $SQL_statement="SELECT Hausverkabelung.Kennummer, Hausverkabelung.SLOT, Hausverkabelung.SWITCH, Hausverkabelung.Kabelnummer, Switchold.Unit, Switchold.Typ, Switchold.Stack, Switchold.[IP-Adresse], Hausverkabelung.SLOT, Hausverkabelung.PORT, Geräteliste.PCNAME, Hausverkabelung.STANDORT, Hausverkabelung.KONTAKT, Hausverkabelung.[ANSCHL-WEG], Hausverkabelung.[Ziel-Adresse], DAERaum.ANSCHLUSS, DAERaum.FOLGEANSCHLUSS, Hausverkabelung.[10 Mb HD], Hausverkabelung.[10 Mb FD], Hausverkabelung.[100 Mb HD], Hausverkabelung.[100 Mb FD], Hausverkabelung.[1 Gb FD], Hausverkabelung.[MODEM NUMMER], Hausverkabelung.Disabled, Hausverkabelung.Bemerkung, Hausverkabelung.[Stack-IP], DAERaum.RAUM, DAERaum.[ANSCHLUSS-TYP], Hausverkabelung.[MAC-ADRESSE_NetKomp], Hausverkabelung.[MAC-ADRESSE_Node], Geräteliste.PCNAME
    FROM Switchold RIGHT JOIN ((Geräteliste RIGHT JOIN Hausverkabelung ON Geräteliste.MACAdresse = Hausverkabelung.[MAC-ADRESSE_Node]) LEFT JOIN DAERaum ON Hausverkabelung.Kennummer = DAERaum.HVKkennum) ON Switchold.Name = Hausverkabelung.SWITCH
    WHERE Hausverkabelung.SWITCH=".$_POST['switchname'];
    $resultset=mysql_query($SQL_statement);
    while($data=mysql_fetch_array($resultset)) {

    Ich hab schon ein bisserl was ausprobiert gehabt aber ich bekomme den Fehler einfach nicht weg...Wär super wenn mir wer weiterhelfen könnte!
    Thx,
    Martin

  • #2
    setz das mal ein
    PHP-Code:
    $resultset=mysql_query($SQL_statement) or die(mysql_error()); 
    ansonsten wär es voll super, wenn man mal die fehlermeldung erfahren könnte
    Kissolino.com

    Kommentar


    • #3
      Hmm..das liefert jene Fehlermeldung

      ] You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '[IP-Adresse], Hausverkabelung.SLOT, Hausverkabelung.PORT, Gerät

      Kommentar


      • #4
        so wie's aussieht stört mysql sich an den eckigen klammern (aus access übernommen? )

        mach die mal weg, dann sollte es gehen

        solltest du leerzeichen in den spaltennamen haben (böse *g*), dann setz ihn in backticks (`)
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Jap das ist aus Access übernommen
          Also die eckigen Klammern wegnehmen bewirkt nichts, dann erhalte ich eine Fehlermeldung dass er das Feld IP in der Tabelle Switchold nicht finden kann. Das bedeutet doch dass er - im feldnamen als trennung sieht oder? Müsste dass dann gehen wenn ich diese Spaltennamen in ' setze? Hab ich nämlich gerade ma versucht, allerdings ohne Erfolg.

          Kommentar


          • #6
            hast du's mit hochkmma versucht oder mit backticks?

            hochkomma: ' (das ding über der raute # )
            backticks ` (das ding über dem ' (neben dem ß *g* ) )

            EDIT:
            probier mal dir die tabelle mit der spalte ip-adresse mit phpmyadmin anzeigen zu lassen, da siehst du das sql-statement, das phpmyadmin generiert und das kannst du ja als inspirationsuqlle nutzen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              ööh..Hochkomma Ich versuchs ma mit backticks..

              Kommentar


              • #8
                Ok, der Fehler ist weg.

                Aber in dieser Zeile:
                WHERE Hausverkabelung.SWITCH=".$_POST['switchname']
                müssen es doch Hochkommas sein oder?

                Da bekomme ich nämlich noch die Meldung
                ] Unknown column 'TSTSW07' in 'where clause'
                wenn ich zum Beispiel des wert TSTSW07 ausgewählt habe. Vor allem irritiert mich das ich jedesmal noch eine ] ausgeben bekomme, hat das was zu bedeuten?

                Kommentar


                • #9
                  du darfst keine eckigen klammern in dem select-string haben.

                  dein statement muss so aussehen:
                  PHP-Code:
                  §sql="SELECT ...
                  WHERE Hausverkabelung.SWITCH="
                  .$_POST['switchname'];
                  echo 
                  'Statement:<br />'.$sql.'<hr />';;
                  $resultset=mysql_query($sq) or die(mysql_error()); 
                  ausgabe?
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Du meinst die ausgabe die rauskommt wenn ich das einfüge oder?

                    Dann gibt er folgedes aus:
                    ] Statement:
                    SELECT Hausverkabelung.Kennummer, Hausverkabelung.SLOT, Hausverkabelung.SWITCH, Hausverkabelung.Kabelnummer, Switchold.Unit, Switchold.Typ, Switchold.Stack, Switchold.`IP-Adresse`, Hausverkabelung.SLOT, Hausverkabelung.PORT, Geräteliste.PCNAME, Hausverkabelung.STANDORT, Hausverkabelung.KONTAKT, Hausverkabelung.`ANSCHL-WEG`, Hausverkabelung.`Ziel-Adresse`, DAERaum.ANSCHLUSS, DAERaum.FOLGEANSCHLUSS, Hausverkabelung.`10-Mb-HD`, Hausverkabelung.`10-Mb-FD`, Hausverkabelung.`100-Mb-HD`, Hausverkabelung.`100-Mb-FD`, Hausverkabelung.`1-Gb-FD`, Hausverkabelung.`MODEM-NUMMER`, Hausverkabelung.Disabled, Hausverkabelung.Bemerkung, Hausverkabelung.`Stack-IP`, DAERaum.RAUM, DAERaum.`ANSCHLUSS-TYP`, Hausverkabelung.`MAC-ADRESSE_NetKomp`, Hausverkabelung.`MAC-ADRESSE_Node`, Geräteliste.PCNAME FROM Switchold RIGHT JOIN ((Geräteliste RIGHT JOIN Hausverkabelung ON Geräteliste.MACAdresse = Hausverkabelung.`MAC-ADRESSE_Node`) LEFT JOIN DAERaum ON Hausverkabelung.Kennummer = DAERaum.HVKkennum) ON Switchold.Name = Hausverkabelung.SWITCH WHERE Hausverkabelung.SWITCH=TSTSW07
                    --------------------------------------------------------------------------------
                    Unknown column 'TSTSW07' in 'where clause'

                    Kommentar


                    • #11
                      da es wahrscheinloich ein inhalt ist, muss der noch in hochkomma rein.

                      PHP-Code:
                      $sql="SELECT ... WHERE Hausverkabelung.SWITCH='".$_POST['switchname']."'"
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Ok...aber was bedeutet dann die Meldung Undefined index: Port usw (alles was ich ausgeben will abgesehn von Switch)

                        Die Ausgabezeile müsste doch so funktionieren oder?

                        echo $data['SWITCH'] . " " . $data['SLOT'] . " " . $data['Port'] ." " . $data['ANSCHLUSS'] ."" . $data['RAUM'] . " " . $data['PC-Name'];

                        Kommentar


                        • #13
                          Original geschrieben von Adler
                          Ok...aber was bedeutet dann die Meldung Undefined index: Port usw
                          steht doch in der meldung.

                          Port ist als index nicht definiert.... in $data

                          vielleicht heisst es bei die auch PORT, schliesslich hast du alle anderen GROSS geschrieben....
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            Ups, das hätt ich auch sehn müssen *argh*

                            Danke nochmal für die schnelle Hilfe!!

                            Kommentar

                            Lädt...
                            X