Seite 1 von 1

Immer wieder Fehler

Verfasst: Do 29. Jul 2004, 05:24
von andrej
Hallo,
in meinem Error Log werden andauernd irgendwelche Fehler angezeigt. Hier ein Fehler der sich die ganze Zeit weiderholt.
[28-Jul-2004 22:27:53] Invalid SQL:
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM cms_cat AS a,
cms_cat AS b,
cms_cat AS c
LEFT JOIN cms_cat_art AS d ON c.idcat = d.idcat
LEFT JOIN cms_art_lang AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat =
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = 1
AND d.is_start = 0
ORDER BY e.created DESC
LIMIT 0, 10
<br><br>
[28-Jul-2004 22:27:53] next_record called with no query pending.
[28-Jul-2004 22:57:49] Invalid SQL: SELECT level FROM WHERE idcat=0<br><br>
Es liegt wohl an einem Modul, gehe ich zumindestens davon aus. Aber ich habe ausser dem w3concepts Artikel Modul keine neue Module Installiert. Kann mir vielleicht jemand helfen, und sagen was ich in dem Modul ändern muss damit es wieder vernünftig funktioniert ?

Hier der OUTPUT des Moduls:

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     w3concepts.alist.mod6.v1 
* Author      :     Andreas Kummer 
* Copyright   :     mumprecht & kummer w3concepts 
* Created     :     08-07-2004 
* Modified    :     08-07-2004 
************************************************/ 
    // manuelle konfiguration des moduls 
    $uploadpfad = "/cms/upload/"; // relativ zum root-verzeichnis (mit slash am anfang und am ende) 
    $thumbnailpfad = "/cms/upload/bilder/auto_thumbnails/"; //relativ zum root-verzeichnis (mit slash am anfang und am ende) 
    // konfiguration 
    $categorie = "CMS_VALUE[0]"; 
    $angezeigte_anzahl = "CMS_VALUE[1]"; 
    if ($angezeigte_anzahl == '') $angezeigte_anzahl = 10; 
    $startartikel = "CMS_VALUE[2]"; 
    if ($startartikel == '') $startartikel = false; 
    $subheadline = "CMS_VALUE[3]"; 
    if ($subheadline == '') $subheadline = 200; 
    $navigationslink['previous'] = "CMS_VALUE[4]"; 
    if ($navigationslink['previous'] == '') $navigationslink['previous'] = '[:: rückwärts ]'; 
    $navigationslink['next'] = "CMS_VALUE[5]"; 
    if ($navigationslink['next'] == '') $navigationslink['next'] = '[ vorwärts ::]'; 
    $ebene = "CMS_VALUE[6]"; 
    $bildbreite = "CMS_VALUE[7]"; 
    $limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0); 
    $db = new DB_Contenido; 
    $db2 = new DB_Contenido; 
    // wenn startartikel true ist, werden die startartikel dargestellt, sonst nicht 
    $nurstartartikel = ($startartikel)?(''):('AND d.is_start = 0'); 
    // liest die anzahl betroffener artikel aus der datenbank 
    switch ($ebene) { 
        case -2: 
            $sql_1 = " 
                SELECT count(*) AS anzahl 
                FROM {$cfg['tab']['cat']} AS a, 
                     {$cfg['tab']['cat']} AS b, 
                     {$cfg['tab']['cat']} AS c 
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat 
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart 
                WHERE 
                    ( 
                        ( 
                            c.parentid = b.idcat 
                            AND b.parentid = a.idcat 
                        ) 
                        OR 
                        ( 
                            c.idcat = b.idcat 
                            AND b.parentid = a.idcat 
                        ) 
                        OR 
                        ( 
                            c.idcat = b.idcat 
                            AND b.idcat = a.idcat 
                        ) 
                    ) 
                    AND a.idcat = $categorie 
                    AND e.online = 1 
                    AND e.redirect = 0 
                    AND e.external_redirect = 0 
                    AND e.idlang = $lang 
                    $nurstartartikel 
                "; 
            $sql_2 = " 
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum 
                FROM {$cfg['tab']['cat']} AS a, 
                {$cfg['tab']['cat']} AS b, 
                {$cfg['tab']['cat']} AS c 
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat 
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart 
                WHERE 
                    ( 
                        ( 
                            c.parentid = b.idcat 
                            AND b.parentid = a.idcat 
                        ) 
                        OR 
                        ( 
                            c.idcat = b.idcat 
                            AND b.parentid = a.idcat 
                        ) 
                        OR 
                        ( 
                            c.idcat = b.idcat 
                            AND b.idcat = a.idcat 
                        ) 
                    ) 
                    AND a.idcat = $categorie 
                    AND e.online = 1 
                    AND e.redirect = 0 
                    AND e.external_redirect = 0 
                    AND e.idlang = $lang 
                    $nurstartartikel 
                ORDER BY e.created DESC 
                LIMIT $limit, $angezeigte_anzahl 
                "; 
            break; 
        case -1: 
            $sql_1 = " 
                SELECT count(*) AS anzahl 
                FROM {$cfg['tab']['cat']} AS a, 
                     {$cfg['tab']['cat']} AS b, 
                     {$cfg['tab']['cat']} AS c 
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat 
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart 
                WHERE 
                    ( 
                        ( 
                            c.idcat = b.idcat 
                            AND b.parentid = a.idcat 
                        ) 
                        OR 
                        ( 
                            c.idcat = b.idcat 
                            AND b.idcat = a.idcat 
                        ) 
                    ) 
                    AND a.idcat = $categorie 
                    AND e.online = 1 
                    AND e.redirect = 0 
                    AND e.external_redirect = 0 
                    AND e.idlang = $lang 
                    $nurstartartikel 
                "; 
            $sql_2 = " 
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum 
                FROM {$cfg['tab']['cat']} AS a, 
                {$cfg['tab']['cat']} AS b, 
                {$cfg['tab']['cat']} AS c 
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat 
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart 
                WHERE 
                    ( 
                        ( 
                            c.idcat = b.idcat 
                            AND b.parentid = a.idcat 
                        ) 
                        OR 
                        ( 
                            c.idcat = b.idcat 
                            AND b.idcat = a.idcat 
                        ) 
                    ) 
                    AND a.idcat = $categorie 
                    AND e.online = 1 
                    AND e.redirect = 0 
                    AND e.external_redirect = 0 
                    AND e.idlang = $lang 
                    $nurstartartikel 
                ORDER BY e.created DESC 
                LIMIT $limit, $angezeigte_anzahl 
                    "; 
            break; 
        case 0: 
            $sql_1 = " 
                SELECT count(*) AS anzahl 
                FROM {$cfg['tab']['cat']} AS a, 
                     {$cfg['tab']['cat']} AS b, 
                     {$cfg['tab']['cat']} AS c 
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat 
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart 
                WHERE 
                    ( 
                        ( 
                            c.idcat = b.idcat 
                            AND b.idcat = a.idcat 
                        ) 
                    ) 
                    AND a.idcat = $categorie 
                    AND e.online = 1 
                    AND e.redirect = 0 
                    AND e.external_redirect = 0 
                    AND e.idlang = $lang 
                    $nurstartartikel 
                "; 
            $sql_2 = " 
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum 
                FROM {$cfg['tab']['cat']} AS a, 
                {$cfg['tab']['cat']} AS b, 
                {$cfg['tab']['cat']} AS c 
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat 
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart 
                WHERE 
                    ( 
                        ( 
                            c.idcat = b.idcat 
                            AND b.idcat = a.idcat 
                        ) 
                    ) 
                    AND a.idcat = $categorie 
                    AND e.online = 1 
                    AND e.redirect = 0 
                    AND e.external_redirect = 0 
                    AND e.idlang = $lang 
                    $nurstartartikel 
                ORDER BY e.created DESC 
                LIMIT $limit, $angezeigte_anzahl 
                    "; 
            break; 
    } 
    $db->query($sql_1); 
    $db->next_record(); 
    $anzahl_artikel = $db->f("anzahl"); 
//GAO Erweiterung
echo '<table width="100%" cellpadding="0" cellspacing="0">
		<tr>
			<td colspan="2" class="txtsp1">News</td>
	   </tr>';
//GAO Erweiterung ENDE
    $db->query($sql_2); 
    while ($db->next_record()) { 
        $sql = " 
            SELECT a.value, a.typeid, b.type, c.filename, c.dirname FROM {$cfg['tab']['content']} AS a 
            LEFT JOIN {$cfg['tab']['type']} AS b ON a.idtype = b.idtype 
            LEFT JOIN {$cfg['tab']['upl']} AS c ON a.value = c.idupl 
            WHERE 
            a.idartlang = ".$db->f("idartlang")." 
            AND ( 
                b.type = 'CMS_HTMLHEAD' 
            ) 
            ORDER BY b.type, a.typeid ASC 
            "; 
        $db2->query($sql); 
        $db2->next_record(); 
        $link = $sess->url("index.php?idcat=".$db->f("idcat")."&idart=".$db->f("idart")); 
        //$link = $sess->url("/$client/$lang/".$db->f("idcat")."/".$db->f("idart").".html"); 
echo "<tr>
		<td colspan=\"2\" class=\"nsthead\"><a href=\"$link\" class=\"nsthead\"><b>".urldecode($db2->f("value"))."</b></a></td> 
    </tr> 
	<tr>
		<td class=\"nstdate\">Datum:</td>
		<td class=\"nstdate\">".$db->f("erstellungsdatum")."</td>
	</tr>";
    $sql = "SELECT a.value, a.typeid, b.type, c.filename, c.dirname FROM {$cfg['tab']['content']} AS a 
            LEFT JOIN {$cfg['tab']['type']} AS b ON a.idtype = b.idtype 
            LEFT JOIN {$cfg['tab']['upl']} AS c ON a.value = c.idupl 
            WHERE 
            a.idartlang = ".$db->f("idartlang")." 
            AND ( 
                b.type = 'CMS_HTML' 
            ) 
            ORDER BY b.type, a.typeid ASC 
            "; 

        $db2->query($sql); 
        $db2->next_record(); 

        // den artikel auf die gewünschte länge reduzieren (trennung nur 
        // nach bzw. vor einem ganzen wort 
        if (strlen($db2->f("value")) > $subheadline) { 
            $newsubheadline = ''; 
            $worte = explode (" ",strip_tags(urldecode($db2->f("value")))); 
            $zulang = false; 
            foreach ($worte as $wort) { 
                if (strlen($newsubheadline." ".$wort) >= $subheadline) $zulang = true; 
                $newsubheadline = (!$zulang)?($newsubheadline." ".$wort):($newsubheadline); 
            } 
            $newsubheadline .= "..."; 
        } 

        if ($bild_vorhanden) { 
            $width = "CMS_VALUE[7]"; 
            $width += 5; 
            $src_image_size = getimagesize($cfg['path']['frontend'].$bilddateiname); 
echo "<tr>
	 	<td class=\"nsttext\" style=\"width:{$width}px;\"><a href=\"$link\"><img src=\"$bilddateiname\" {$src_image_size[3]}/></a></td>
		<td class=\"nsttext\" colspan=\"2\">$newsubheadline</td>
	</tr>"; 
        } else { 
echo"<tr>
		<td class=\"nsttext\" colspan=\"2\"><i>$newsubheadline</i></td>
	</tr>"; 
        } 
    } 
    echo "</table>"; 
?> 

Verfasst: Do 29. Jul 2004, 09:09
von emergence
hast du bei der modul konfiguration die kategorie konfiguriert ?

Verfasst: Fr 30. Jul 2004, 04:52
von andrej
was meinst du mit kategorie konfiguriert ?

Verfasst: Fr 30. Jul 2004, 06:44
von emergence
ist das modul wirklich konfiguriert worden ?

Verfasst: Fr 30. Jul 2004, 10:49
von andrej
ja das modul selbst ist konfiguriert worden, sonst würde er ja nicht funktionieren. das midul funktioniert herrvoragend. aber eben diese fehlermeldung im errorlog, die macht mir kopfzerbrechen.

Verfasst: Mo 2. Aug 2004, 09:25
von emergence
nun ja
deine fehlermeldung deutet darauf hin das eben eine seite nicht konfiguriert ist... (welche das ist ??? keine ahnung)

$categorie = "CMS_VALUE[0]";
steht ja am beginn des scripts

darin wird eigentlich die eingestellte kategorie gespeichert...

du kannst an sich innerhalb aller queries wo du

= $categorie

findest

folgendes schreiben

= '$categorie'

somit ist es auch ein gültiges query auch wenn die variable nicht gesetzt ist.. ergebniss wirst du halt keines erhalten...

Verfasst: Mo 2. Aug 2004, 09:32
von andrej
hmm komisch, naja trozdem vielen dank für deine hilfe.

andrej