Problem aus dem ich nicht schlau werde

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

  • Problem aus dem ich nicht schlau werde

    Hi
    ich habe folgenden mysql query auf einer php Seite eingebunden:

    SELECT S.SID, S.Nachname, S.Vorname, S.TNummer AS Trikotnummer, S.Position, S.WerfSchlag AS "schlägt/wirft", date_format( S.GebDatum, "%d.%m.%y" ) AS Geburtstag, S.Groesse AS Grösse, S.Gewicht, S.BBSeit AS "Baseball seit", S.BravesSeit AS "Braves seit" FROM spieler S JOIN teampos TP ON S.SID = TP.SID WHERE TP.TID = "T0002" AND S.Last_Season IS NULL ORDER BY S.Nachname, S.Vorname

    und bekomme folgende Fehlermeldung von MySQL:

    1064: You have an error in your SQL syntax near 'ON S.SID = TP.SID WHERE TP.TID = "T0002" AND S.Last_Season IS NULL ORDER BY S.N' at line 1

    Mein Problem ist nun, das der Query auf meinem lokalen Server ohne Beanstandung abgefertigt wird. Auch wenn ich den Befehl per Copy&Paste in phpmyadmin auf dem Server der mir die Fehlermeldung liefert ausführe kommt ein sinnvolles Ergebnis zustande. Nur wenn er in der php Seite eingebettet ist funktioniert er nicht. Vielleicht hat ja jmd eine Idee, weil ich steh ziemlich auf dem Schlauch.

    gruss judgie

  • #2
    welcome.

    poste mal deinen php-code dazu. wenn die query (syntaktisch nicht ganz das wahre) in myadmin laufen, sollte es auch mit mysql_query laufen...

    Kommentar


    • #3
      Re: Problem aus dem ich nicht schlau werde

      Da mein Kenntnis in MySQL nicht sehr gut ist, jedoch Erfahrung mit
      anderen DBMS habe, tippe ich auf (fett formatiert):
      Code:
      SELECT S.SID, S.Nachname, S.Vorname, S.TNummer AS 
      Trikotnummer, S.Position, S.WerfSchlag AS [b]"schlägt/wirft"[/b], 
      date_format( S.GebDatum, "%d.%m.%y" ) AS Geburtstag, S.Groesse AS 
      [b]Grösse[/b], S.Gewicht, S.BBSeit AS "Baseball seit", S.BravesSeit 
      AS "Braves seit" FROM spieler S JOIN teampos TP ON S.SID = TP.SID 
      WHERE TP.TID = "T0002" AND S.Last_Season IS NULL ORDER BY 
      S.Nachname, S.Vorname
      Sonderzeichen als Spaltenalias nicht erlaubt und IMHO in " eingepackt auch nicht.
      Zuletzt geändert von asp2php; 23.04.2004, 22:53.

      Kommentar


      • #4
        PHP-Code:
        $getTeamSQL = ('SELECT S.SID, S.Nachname, S.Vorname, S.TNummer AS Trikotnummer, S.Position,
                                        S.WerfSchlag AS "schlägt/wirft",
                                        date_format( S.GebDatum, "%d.%m.%y" ) AS Geburtstag,
                                        S.Groesse AS Grösse, S.Gewicht,
                                        S.BBSeit AS "Baseball seit", S.BravesSeit AS "Braves seit"
                                 FROM spieler S
                                    JOIN teampos TP ON S.SID = TP.SID
                                 WHERE TP.TID = "'
        .$teamID.'" AND S.Last_Season IS NULL ORDER BY S.Nachname, S.Vorname'); 

        Kommentar


        • #5
          Das mit den Sonderzeichen kann schon sein, was ich aber nicht verstehe warum es dann auf meinem lokalen LAMP Server funktioniert und auch in phpmyadmin auf dem "echten" Server klappt

          ausserdem hat eine ähnlich abfrage mit den eingebetteten Sonderzeichen ohne Probleme gefunzt
          Zuletzt geändert von judgie; 23.04.2004, 22:55.

          Kommentar


          • #6
            asp hat schon recht! Sonderzeichen haben in queries eigentlich nichts zu suchen. auch wie man idr. auf groß/klein verzichtet. das macht die abfragen nur unnötig fehleranfällig.

            aber da du sagst, dass myadmin das ganze verkraftet, schätze ich, dass der fehler woanders liegt.

            woher hast du den query denn?

            Kommentar


            • #7
              Also ich habe mal die Sonderzeichen geändert, daran lag es wohl nicht, die Fehlermeldung bleibt gleich.....

              PS: Der angegebene SELECT Befehl ist durch "echo" ausgegeben worden, also so wie er von der php seite erstellt wird.

              Kommentar


              • #8
                das mit der Gross/Klein Schreibung wurde mir so von meinem Datenbank Professor beigebrahct, ich werde es aber weitergeben :-)

                Kommentar


                • #9
                  woher hast du den query denn?

                  wie meinst du das?

                  Kommentar


                  • #10
                    naja, wird der query erst in php zusammengesetzt, oder steht der schon im klartext im programm?

                    wenn möglich, versuche aber auch die von ASP angesprochenen Punkte zu optimieren. Und lass die AS weg, haste ja teilweise schon gemacht. ist dann auch zu anderen DBs kompatibel.

                    Kommentar


                    • #11
                      Also nach dem ich die Abfrage schritt für Schritt kastriert habe, habe ich den Fehler anscheinend gefunden.

                      Wenn ich INNER JOIN anstatt JOIN schreibe klappt es.

                      was ich allerdings nicht verstehe warum es unter phpmyadmin funktioniert und so nicht, vielleicht weiss jmd mehr darüber

                      Kommentar

                      Lädt...
                      X