Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL Abfrage Fehler nach Umstieg von MySQL4 auf MySQL 5

Einklappen

Neue Werbung 2019

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

  • SQL Abfrage Fehler nach Umstieg von MySQL4 auf MySQL 5

    Hallo,
    ich hoffe ihr könnt mir evtl. weiterhelfen.
    Bisher hatte ich einen Webserver mit PHP 4 und MySQL 4 nun habe ich einen Webserver mit PHP 5.2.6-1+lenny8 und MySQL 5.0.51a.
    Ich habe meine Komplette Webseite inkl. Datenbanken auf den neuen Webserver umgezogen, soweit funktioniert auch alles, bis auf eine einzige MySQL Abfrage (welche bisher auf dem alten Webserver problemlos lief).
    Hier nun die fehlerhafte Abfrage:
    PHP-Code:
     if(!$dbase->doQuery("SELECT products.ebaylink, products.moschlink, text_prod_material.$language AS material, text_prod_date.$language AS date, products.index, products.productid, text_prod_names.$language AS name, text_prod_short.$language AS short_desc, text_prod_desc.$language AS long_desc, text_prod_size.$language AS size, products.price, products.small_image, products.large_image1, products.large_image2, products.large_image3, products.large_image4, products.large_image5, products.state, text_prod_condition.$language AS condition, text_prod_provenance.$language AS provenance FROM ( ( ( ( ( ( ( products INNER JOIN text_prod_names ON products.name = text_prod_names.index ) INNER JOIN text_prod_short ON products.shortdesc = text_prod_short.index ) INNER JOIN text_prod_desc ON products.description = text_prod_desc.index ) INNER JOIN text_prod_size ON products.size = text_prod_size.index ) INNER JOIN text_prod_date ON products.date = text_prod_date.index ) INNER JOIN text_prod_material ON products.material = text_prod_material.index ) LEFT JOIN text_prod_provenance ON products.provenance = text_prod_provenance.index ) LEFT JOIN text_prod_condition ON products.conditon = text_prod_condition.index WHERE ( ( ( products.index ) = $product ) AND ( ( products.active ) = 1 ) )")) 
    In diesem Fall wechselt führt er die Bedingung aus und schreibt die von mir hinterlegte Fehlermeldung ,das die Datenbankabfrage fehlerhaft war, nur finde ich keinen Fehler, hat sich in MySQL etwas geändert, das ich evtl. inner joins anders formuliert werden, da wie gesagt alle anderen Abfragen fehlerfrei funkionieren.
    Ich bin für jeden Tipp Dankbar.

    mfg
    chefmaik


  • #2
    Ich lass mir immer das komplette geparste SQL-Statement ausgeben und lass das dann direkt am MySQL Server als Query ausführen, da gibts dann meistens gute Fehlermeldungen

    Juergen
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Hast du dir schonmal $language ausgeben lassen?

      Kommentar


      • #4
        language wird richtigerweise in german ausgegeben
        falls ih nichts falsch gemacht habe erhalte ich als SQL Fehlermeldung:

        #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 'condition, text_prod_provenance.german AS provenance FROM ( ( ( ( ( ( ( products' at line 1

        damit kann ich leider auch nicht viel anfangen, evtl. hilft es dir weiter

        Kommentar


        • #5
          CONDITION ist nun ein reserviertes Wort: MySQL :: MySQL 5.0 Reference Manual :: 8.3 Reserved Words

          Kommentar


          • #6
            Danke für die schnellen Antworten.
            Ich habe nun entsprechend condition entsprechend abgeändert und dann geht es natürlich auch.
            Vielen, vielen Dank.

            Kommentar

            Lädt...
            X