mysql php Fehler auf WebServer / Lokal kein Problem

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

  • mysql php Fehler auf WebServer / Lokal kein Problem

    Hallo,

    ich habe ein sehr delikates Problem was mit zum Verzweifeln treibt.

    Ich habe einen Onlineshop welcher auf XT-Commerce basiert und entwickle das System aber lokal.

    Vergangene Woche sind wir von einem V-Server auf einen größeren umgezogen, mit dem Resultat, dass bei der Produktsuche jetzt eine mysql Fehlermeldung kommt:

    Code:
    1064 - 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 '2,79,80,137) AND pd.language_id = '2' ' at line 15
    
    SELECT DISTINCT 
    p.products_id, 
    pd.products_name, 
    pd.products_short_description, 
    p.products_price, 
    p.products_tax_class_id, 
    p.products_shippingtime, 
    p.products_image, 
    p.products_vpe_status, 
    p.products_vpe_value, 
    p.products_vpe, 
    p.products_fsk18 
    FROM 
    products p, 
    products_description pd, 
    products_to_categories p2c 
    WHERE 
    p.products_status = '1' 
    AND p.products_id = pd.products_id 
    AND p2c.products_id = p.products_id 
    AND p2c.categories_id IN (,2,79,80,137) 
    AND pd.language_id = '2' 
    ORDER BY RAND()LIMIT 4
    
    [XT SQL Error]
    Auf dem alten Server funktionierte es ohne diese Meldung.

    Ich habe jetzt lokal den Server repliziert und sogar exakt die selbe mysql-Datenbank installiert (5.0.67), aber lokal geht es.

    Das ganze habe ich auf unseren verschiedenen Büroservern probiert und überall geht es. Nur eben nicht auf dem WebServer.

    Es sind exakt die gleichen Daten, sowie auf dem Server als auch in der Datenbank.

    Wie kann so etwas passieren, kann ein Apache-WebServer beispielsweise Nullen unterschlagen? Denn dieser Teil: p2c.categories_id IN (,2,79,80,137) sollte so aussehen: p2c.categories_id IN (0,2,79,80,137).

    Bin für jede Idee dankbar, denn ich habe keine Lust den Server neu aufzusetzen.

    Grüsse
    Michael
    Zuletzt geändert von francosdad; 11.08.2009, 13:33. Grund: gelöst

  • #2
    Zitat von francosdad Beitrag anzeigen
    Code:
    AND p2c.categories_id IN (,2,79,80,137)
    Na das erste Komma da vor dem ersten Wert schaut schon ein bisschen so aus, als ob es sich dort fehl am Platze fühlen würde ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ja. das weiss ich, der Grund des Fehlers ist bekannt, jedoch nicht reproduzierbar!

      D.h. eigentlich dürfte der Fehler nicht auftreten, da vor dem komma eine Null stehen sollte; was sie lokal und auf meinen Testservern auch macht, nur eben auf dem WebServer nicht.

      Nochmal zur Betonung, die Daten unter denen getestet wurde sind 100% identisch; keine Unterschiede! was die Sache ja eben auch zum Problem macht!

      Ich frage mich wie der Fehler auftreten kann, obwohl wir nur mit dem Server umgezogen sind. mysqldump und Daten direkt von einem auf den anderen Server kopiert.

      Grüsse
      Michael

      Kommentar


      • #4
        Die categories_id ist doch sicherlich auto_increment, oder?
        Also kann sie nie 0 werden.

        Wo kommt sie denn überhaupt her deine 0?
        Untersuche das.
        Wir werden alle sterben

        Kommentar


        • #5
          Das ist auch richtig, habe gerade nochmal nachgesehen. Ist 1.

          Aber die Problematik ist, das exakt die gleiche Datei mit exakt der selben Datenbank auf dem WebServer diesen Fehler meldet, lokal aber eben nicht!

          Also, wenn ein Fehler in der Programmierung vorliegt, dann sollte der ja auch auf den lokalen Systemen falsch sein und nicht nur auf dem Server, oder?

          Ich denke das der Fehler irgendwo in vielleicht einer defekten Apache Installation liegt oder so; wobei ich mir das auch nicht vorstellen kann.

          Den Fehler zu suchen hat mich schon ewig Zeit gekostet, aber ich kann den Fehler nicht finden, da es lokal und auf allen anderen Testsystemen funktioniert!

          Deswegen habe ich ja meine Probleme, wenn der Fehler auch lokal (übrigens selbe Konfiguration wie WebServer -> Apache2 WebServer; kein Xampp oder ähnliches) auftreten würde, dann wärs ja leicht, aber wie suchst du einen Fehler den es eigentlich nicht gibt?

          Grüsse Michael

          Kommentar


          • #6
            Hast du das error_reporting auf E_ALL und display_errors auf on stehen?

            Und wie sieht die Stelle aus, an der die fragliche Query generiert wird?
            Was haben deine Testausgaben der dort verwendeten Variablen ergeben?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hat sich erledigt, aus irgendeinem unerklärlichen Grund greift der Shop an dieser Stelle auf eine falsche Templatedatei zu und dadurch möchte er sich an dieser Stelle einen Kategoriebaum erstellen, obwohl das gar nicht vorgesehen ist.

              Trotzdem Danke für die Hilfe.

              Gruss
              Michael

              Kommentar

              Lädt...
              X