Schleichender SQL-Fehler

Gesperrt
cdraschl
Beiträge: 12
Registriert: Di 9. Dez 2003, 01:49
Kontaktdaten:

Schleichender SQL-Fehler

Beitrag von cdraschl »

Hallo,

nachdem ich eine Site gebaut habe, die mittlerweile ueber 150 einzelne Seiten umfasst, tritt ploetzlich ein seltsames problem auf:
In einem Template werden zwei Navigationen eingebunden, die auf zwei verschiedene Baeume gebunden werden sollen. Waehlt man nun einen Teilbaum aus, so verschwindet die Auswahl nach dem Bestaetigen und es steht wieder "-- kein --" da. Resultierend daraus ist natuerlich die Seite leer, und die Navigationen werden nicht angezeigt.
Im errorlog.txt steht folgender Eintrag:

Code: Alles auswählen

[09-Dec-2003 14:52:12] Invalid SQL: SELECT
                        *
                     FROM
                        con_container_conf
                     WHERE
                        idtplcfg = '14'
                     ORDER BY
                        number ASC<br><br>
[09-Dec-2003 14:52:12] next_record called with no query pending.
Leider habe ich keinen Shell-Zugang zu dem Server, auf dem das CMS installiert ist. Das Problem tritt erst jetzt auf, zuvor hat noch alles tadellos funktioniert.

Vielleicht hatte jemand das Problem schon mal und weiss hier weiter. Contenido 4.4.2 ist im Einsatz, mit PHP 4.3.2

mfg
/cd
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Definitiv kein Bug - ich würde eher auf ein Problem mit der Datenbank tippen.

Mit der Navigation hat diese Fehlermeldung auch sehr warscheinlich nichts gemeinsam. Schau da nochmal genau nach. Ich verschiebe das hier erstmal.
cdraschl
Beiträge: 12
Registriert: Di 9. Dez 2003, 01:49
Kontaktdaten:

Beitrag von cdraschl »

ist mir klar, dass das problem mit der navigation nichts zu tun hat. nur, die frage ist: _warum_ tritt das auf? wenn ich eine moeglichkeit haette, in die datenbank-logs reinzuschauen, dann wuerde ich es tun. aber meine moeglichkeiten sind ziemlich begrenzt. nicht mal ein interface fuer die db hab ich da. leider....

/cd
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

folgendes...

füge bei conlib/db_mysql.inc bei ca zeile 125 anstelle von

Code: Alles auswählen

    if (!$this->Query_ID) {
      $this->halt("Invalid SQL: ".$Query_String."<br><br>");
    }
folgendes ein...

Code: Alles auswählen

    if (!$this->Query_ID) {
      $this->halt("Invalid SQL: ".$Query_String);
      $this->halt("MySQL-Error: ".$this->Error." (".$this->Errno.")");
    }
das hat den vorteil das der mysql fehler der von der db gemeldet wird im errorlog mit eingetragen wird...

vielleicht hilft dir das etwas mehr bei der fehler suche... ich finds praktisch...

ein eintrag in der errorlog.txt sieht dann so aus:
zb:

Code: Alles auswählen

[09-Dec-2003 16:02:51] Invalid SQL: SELECT x,* FROM con_area ORDER BY `name` ASC, `parent_id` ASC
[09-Dec-2003 16:02:51] MySQL-Error: You have an error in your SQL syntax near '* FROM con_area ORDER BY `name` ASC, `parent_id` ASC' at line 1 (1064)
cdraschl
Beiträge: 12
Registriert: Di 9. Dez 2003, 01:49
Kontaktdaten:

Beitrag von cdraschl »

danke fuer die anregung. hab derweil noch mal von vorn angefangen, auf einem test-rechner. da trace ich dann mit, wann welcher fehler auftritt.

mfg
/cd
Gesperrt