Seite 1 von 1

SQL Error : 1054 Unknown column 't.forum_id' in 'on clause'

Verfasst: 03.11.2006 14:51
von Mige
Hi

Habe wieder mal ein kleines Problem :o

Hab in letzter zeit keine änderungen vorgenommen am forum, doch plötzlich kommt dieser fehler:
Could not obtain topic information

DEBUG MODE

SQL Error : 1054 Unknown column 't.forum_id' in 'on clause'

SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time FROM phpbb_topics t, phpbb_users u, phpbb_posts p, phpbb_posts p2, phpbb_users u2 LEFT JOIN phpbb_forums f ON t.forum_id=f.forum_id WHERE t.topic_poster = u.user_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id AND f.auth_view < 2 ORDER BY t.topic_last_post_id DESC LIMIT 5

Line : 188
File : actualstats.php
die besagte zeile sieht so aus:

Code: Alles auswählen

if ( !($result = $db->sql_query($sql)) ) 
{ 
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql); 
} 
Wenn ich sie auskommentiere, funktioniert es wieder.
Das kann aber wohl nicht die lösung sein, hätte evtl wer nen tipp für mich?

danke schon im voraus :grin:

Verfasst: 03.11.2006 16:22
von gn#36
Wenn du den Teil auskommentierst wird die fehlerhafte Sql Abfrage nicht ausgeführt...
Was für eine Datenbank steckt denn dahinter?
Vielleicht wäre auch die über dem von dir bereits geposteten liegende SQL Abfrage ($sql = ... vermutlich) mal ganz nett zu sehen?

Ich habe einen Left Join noch nie gemeinsam mit mehreren Tabellen verwendet, ich nehme an es liegt daran.

Was ist das für ein Mod?

Sollte tatsächlich - wie in der Fehlermeldung angedeutet die Tabelle in der Datenbank fehlen dann wäre das natürlich dumm, denn die Themen würden keinem Forum mehr zugeordnet sein, allerdings dürfte dann quasi nichts im Forum mehr funktionieren. (Keine Themenübersicht o.ä.)

Verfasst: 03.11.2006 18:38
von Mige
ahja sorry, das hätte mir gleich innen sinn kommen sollen:

Code: Alles auswählen

    $sql = "SELECT user_id, username, user_regdate 
        FROM " . USERS_TABLE . " 
        WHERE user_id <> " . ANONYMOUS . " 
        ORDER BY user_regdate DESC 
        LIMIT 5"; 
Hab auch den auslöser schon gefunden, ist so ne statistik mod, welche die meisten poster, neusten benutzer ect. anzeigt.
Da werden jetzt einfach die beliebtestenthemen nicht mehr angezeigt, also eigentlich wayne.
Sonst funktioniert alles einwandfrei

Ist leider schon ewig her das ich die drauf gekloppt hab, hoffentlich find ich das noch :lol:

achja was mich noch interessieren würde wie kann so ein fehler ausgelöst werden? :o

Verfasst: 03.11.2006 20:13
von gn#36
??? Das ist aber nicht die gleiche Abfrage wie die, die in der Fehlermeldung angegeben ist (ich will nur deshalb den Programmcode sehen, weil er übersichtlicher ist, und weil dann auch die Variablennamen, die eingebaut sind sichtbar werden).

Ich glaube nicht das diese Abfrage (dein geposteter Code) einen Fehler verursacht.

Naja, wenn dieser Fehler in einem funktionierenden Board plötzlich ohne eine vorherige Änderung (z.B. Modeinbau, Rückspielen eines DB Backups o.ä., andere Dateien hochladen) am Forum auftritt dann würde ich mir ernste Sorgen um einen Hackerangriff machen, denn eine Tabellenspalte verschwindet normalerweise nicht von heute auf morgen aus der Datenbank.