Fehlersuche, Invalid SQL, empty delimiter ...

Gesperrt
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Fehlersuche, Invalid SQL, empty delimiter ...

Beitrag von Halchteranerin »

Hallo,

ich habe neuerdings wieder mal ein Problem mit meiner Contenido-Installation. :( Ich habe schon mal eine Bildergalerie installiert gehabt (weiss leider jedoch nicht mehr, welche), die auch funktioniert hat. Nach einem Umzug ging sie ploetzlich nicht mehr. Die Fehlersuche blieb bisher erfolglos. Im errorlog befinden sich zwei Eintraege, die sich ab und zu wiederholen.

Erster Eintrag:

Code: Alles auswählen

[04-Mai-2004 10:37:41] Invalid SQL: SELECT * FROM  AS TREE,  AS CATSIDE,  AS CAT,  AS CATLANG,  AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='1' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='1' AND CAT.idcat=TREE.idcat AND CAT.idclient='1' ORDER BY TREE.idtree<br><br>
[04-Mai-2004 10:37:41] next_record called with no query pending.
Diese Fehlermeldung ist mir etliche Male hier im Forum begegnet, allerdings habe ich noch nicht rausgefunden, woher sie kommt. Normalerweise ist das ja auch kein richtiges SQL, denn es fehlt die Angabe der Tabellen, auf die die Abfrage ausgefuehrt werden soll. Die Frage ist nur, woran es liegt, dass die Tabellennamen nicht richtig uebergeben werden.

Die SQL-Anweisung befindet sich im Input des Bildergalerie-Moduls und sieht so aus:

Code: Alles auswählen

$sql = "SELECT * FROM $cfgTab_cat_tree AS TREE, $cfgTab_cat_side AS CATSIDE, $cfgTab_cat AS CAT, $cfgTab_cat_lang AS CATLANG, $cfgTab_side_lang AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='$lang' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='$lang' AND CAT.idcat=TREE.idcat AND CAT.idclient='$client' ORDER BY TREE.idtree"; 
Der zweite Eintrag im errorlog ist:

Code: Alles auswählen

[04-May-2004 10:37:57] PHP Warning:  strstr(): Empty delimiter. in {rootdir}/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 768
bzw. ich habe gerade einen dritten noch entdeckt:

Code: Alles auswählen

[04-Mai-2004 10:44:39] PHP Parse error:  parse error in {rootdir}/contenido/includes/functions.mod.php(155) : eval()'d code on line 59
Woran koennte das liegen? Ich hatte auch mal hier im Forum gelesen, wo man sichen muss, wenn solche Zeilen angegeben sind, aber leider habe ich das vergessen, und wie das so ist, wenn man's braucht, findet man's auch nicht wieder. functions.mod.php hat 194 Zeilen, das mit Zeile 59 koennte also hinkommen, aber include.con_editcontent.php hat nur 577 Zeilen, wo also soll Zeile 768 sein?

Die Umgebung der Zeile 59 sieht in der functions.mod.php so aus (Zeile 59 ist 'return $idmod;'):

Code: Alles auswählen

# insert this rights for the new id
            $sql="INSERT INTO ".$cfg["tab"]["rights"]."
            (idright, user_id,idarea,idaction,idcat,idclient,idlang)
            VALUES ('".$db->nextid($cfg["tab"]["rights"])."', '".$db->f("user_id")."','".$db->f("idarea")."','".$db->f("idaction")."','$tmp_newid','$client','".$db->f("idlang")."')";
            $db2->query($sql);
        }

        return $idmod;

    # Module id passed
    # Edit module
    } else {

        $sql = "UPDATE ".$cfg["tab"]["mod"]." SET name='$name', description='$description', input='$input', output='$output', template='$template', author='$author', lastmodified='$date' WHERE idmod='$idmod'";
        $db->query($sql);
Auf Erleuchtung hoffend :lol:
Christa
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Re: Fehlersuche, Invalid SQL, empty delimiter ...

Beitrag von timo »

Halchteranerin hat geschrieben:

Code: Alles auswählen

[04-Mai-2004 10:37:41] Invalid SQL: SELECT * FROM  AS TREE,  AS CATSIDE,  AS CAT,  AS CATLANG,  AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='1' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='1' AND CAT.idcat=TREE.idcat AND CAT.idclient='1' ORDER BY TREE.idtree<br><br>
[04-Mai-2004 10:37:41] next_record called with no query pending.
Sieht nach einem alten Modul aus.
Der zweite Eintrag im errorlog ist:

Code: Alles auswählen

[04-May-2004 10:37:57] PHP Warning:  strstr(): Empty delimiter. in {rootdir}/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 768
Scheint ein kaputtes Modul sein.
bzw. ich habe gerade einen dritten noch entdeckt:

Code: Alles auswählen

[04-Mai-2004 10:44:39] PHP Parse error:  parse error in {rootdir}/contenido/includes/functions.mod.php(155) : eval()'d code on line 59
Das ist definitiv ein kaputtes Modul.
Zeilen, wo also soll Zeile 768 sein?
Das bezieht sich nicht auf die Zeile im File, sondern auf die Zeile im zusammengesetzten Code. Wie du ja sicherlich weißt, werden die Modul an die Stelle im Layout gepackt und das ganze dann ausgeführt. Daher kommt diese Zeilennummer.
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Fehlersuche, Invalid SQL, empty delimiter ...

Beitrag von Halchteranerin »

timo hat geschrieben:Sieht nach einem alten Modul aus.
Ich glaube zu wissen (!), was Du meinst ... in alten Modulen steht so etwas wie SELECT * FROM $cfgTab_cat_tree und bei den neuen so etwas wie SELECT * FROM ".$cfg["tab"]["cat_tree"].". Ist das soweit richtig? Ich dachte, ich schreibe das mal eben um, aber es ging leider nicht, denn da wird u.a. auf $cfgTab_cat_side und $cfgTab_side_lang zugegriffen, und die gibt's bei 4.4.4 nicht. Frage hierzu: heissen die nur anders (das waere noch einfach), oder gibt's die gar nicht mehr?
timo hat geschrieben: Scheint ein kaputtes Modul sein.
[...]
Das ist definitiv ein kaputtes Modul.
Gibt's irgendwelche Tips, wie man herausfinden kann, was daran kaputt ist? Ich weiss nicht, ob das nur mit der obigen falschen SQL-Abfrage zusammenhaengt, aber ich fuerchte eher nicht, denn die ist im Input-Bereich, und ich habe Probleme mit der Ausgabe (es wird einfach nichts angezeigt, keine Thumbnails; Problem faengt aber wohl frueher an, weil die Thumbnails gar nicht erst erzeugt werden).

Was mich wundert: alle Bildergalerien, die ich mir eben nochmal schnell angeschaut habe, haben SQL-Anweisungen nach der 'alten' Art, obwohl sie auch unter 4.4.4 funktionieren sollen.
timo hat geschrieben:Das bezieht sich nicht auf die Zeile im File, sondern auf die Zeile im zusammengesetzten Code. Wie du ja sicherlich weißt, werden die Modul an die Stelle im Layout gepackt und das ganze dann ausgeführt. Daher kommt diese Zeilennummer.
So etwas habe ich befuerchtet (ich wusste es aber nicht mehr genau). :(
Ist aber der zusammengesetzte Code nicht in con_code? Oder wo befindet er sich denn? Denn ich habe die con_code geleert, danach wieder die Seite, die die Bildergalerie beinhaltet, aufgerufen, die Eintraege im errorlog entstanden wieder, aber die con_code ist leer geblieben ...

Gruss
Christa

Nachtrag: ich habe auf dem Server sowohl ImageMagick als auch GDLib 'bundled (2.0.15 compatible)', deswegen verstehe ich auch nicht, warum nicht mal mehr die Thumbnails erzeugt werden ...
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Re: Fehlersuche, Invalid SQL, empty delimiter ...

Beitrag von timo »

Halchteranerin hat geschrieben:Ich dachte, ich schreibe das mal eben um, aber es ging leider nicht, denn da wird u.a. auf $cfgTab_cat_side und $cfgTab_side_lang zugegriffen, und die gibt's bei 4.4.4 nicht. Frage hierzu: heissen die nur anders (das waere noch einfach), oder gibt's die gar nicht mehr?
Alles, was side war, heißt jetzt "art" ;)
Gibt's irgendwelche Tips, wie man herausfinden kann, was daran kaputt ist? Ich weiss nicht, ob das nur mit der obigen falschen SQL-Abfrage zusammenhaengt, aber ich fuerchte eher nicht, denn die ist im Input-Bereich, und ich habe Probleme mit der Ausgabe (es wird einfach nichts angezeigt, keine Thumbnails; Problem faengt aber wohl frueher an, weil die Thumbnails gar nicht erst erzeugt werden).
Naja, normalerweise leuchtet die Lampe rot, wenn ein Fehler aufgetreten ist. Wenn sie grün ist, und im Frontend nichts erscheint (=weiße Seite), dann könnte es sein, daß die Konfiguration fehlt (das mit den Templates und dem Input-Bereich). Weiterhin: Wenn die Einträge von anno dazumal sind, dann kann es natürlich sein, daß du dich mal in einem Modul verschrieben hast und dann den Fehler korrigiert hast.

Ist aber der zusammengesetzte Code nicht in con_code? Oder wo befindet er sich denn? Denn ich habe die con_code geleert, danach wieder die Seite, die die Bildergalerie beinhaltet, aufgerufen, die Eintraege im errorlog entstanden wieder, aber die con_code ist leer geblieben ...
Die con_code wird nur gefüllt, wenn du die Seite über das Frontend aufrufst.
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Fehlersuche, Invalid SQL, empty delimiter ...

Beitrag von Halchteranerin »

timo hat geschrieben:Alles, was side war, heißt jetzt "art" ;)
Ah, danke, gut zu wissen! Vielleicht klappt das Umschreiben doch noch ... *hoff*
timo hat geschrieben: Naja, normalerweise leuchtet die Lampe rot, wenn ein Fehler aufgetreten ist.
Das ist ja klar, deswegen fragte ich nach Tips ... ich haette nach Tricks fragen sollen. ;-)

Also: es ist alles gruen, und die Eintraege sind natuerlich aktuell (ich leere ab und zu den errorlog, um genau so etwas zu vermeiden, dass ich mich unnoetig auf Fehlersuche begebe :) ). Und eine weisse Seite erscheint (leider) auch nicht. Es erscheint schon die normale Seite, nur dass die Thumbs halt fehlen.

Ich versuche erstmal, den SQL-Code zurechtzubiegen, und dann schaue ich mal weiter. Babysteps. ;-)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Problem teilweise geloest ...

Beitrag von Halchteranerin »

Beim Konfigurieren steht u.a. 'Image-Dateieendung (z.B. .jpg;.gif)'. Zu dumm aber, dass es ausgerechnet mit GIFs nicht funktioniert und das von mir ausgesuchte Testverzeichnis ausgerechnet nur GIFs enthielt. :( Ich glaube, mal was gelesen zu haben, dass es mit GIFs Probleme gibt, weiss aber nicht mehr, in welchem Zusammenhang, und so auf die Schnelle habe ich's im Forum auch nicht gefunden. Na ja, es hatte auch etwas Gutes, ich habe das Zeug nun wirklich auf 4.4.4 angepasst, also die SQL-Anweisung und die sonstigen Stellen, die damit zusammenhingen (wegen Variablen mit 'side'). Trotzdem habe ich noch im errorlog noch einen Eintrag:

Code: Alles auswählen

[04-Mai-2004 21:42:58] PHP Parse error:  parse error in {rootdir}/contenido/includes/functions.mod.php(155) : eval()'d code on line 59
Das naechste Problem kommt dann, wenn ich das Modul bei einem anderen Mandanten einsetzen will. Das ist aber ein anderes Thema, deswegen oeffne ich da mal einen neuen Thread. Erleichtert anderen spaeter die Suche. ;-)

Gruss
Christa
Gesperrt