Seite 1 von 1

SQL Error:1064 in File functions_topics_list.php

Verfasst: 18.12.2007 17:09
von fossilis
Hi Leute,
seit heute erhalte ich folgende Fehlermeldung, wenn ich das Forum besuchen will:
Could not obtain post information

DEBUG MODE

SQL Error : 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 '' at line 3

SELECT DISTINCT topic_id FROM phpbb_posts WHERE topic_id IN (58) AND poster_id =

Line : 199
File : functions_topics_list.php
Heute Mittag hat noch jemand gepostet, kurioser Weise kann man diesen Eintrag auch noch anklicken (über die Lastpost Box), doch wenn man auf den Forums Button klickt erhält man immer obige Fehlermeldung.

Ich habe keinen Mod installiert oder irgend eine andere Änderung vorgenommen. Gestern hat noch alles funktioniert und auch heute Mittag muss noch alles funktioniert haben, denn da wurde noch gepostet.

Hier die betroffen functions_topics_list.php.

Link zum Forum

Bin echt ratlos, wie kann sowas denn einfach passieren?!?
Ich meine das ne DB Tabelle mal crashed und man sie wieder reparieren muss ist ja noch erträglich, aber dies ist mir unerklärlich.

Verfasst: 19.12.2007 00:24
von cYbercOsmOnauT
Ändere mal die Zeile 176

Code: Alles auswählen

if ($userdata['user_id'] != ANONYMOUS)
in

Code: Alles auswählen

if ($userdata['user_id'] != ANONYMOUS && !empty($userdata['user_id']))
Damit sollte dieser Fehler nicht mehr erscheinen. Dies jedoch ist keine echte Lösung, denn das Problem ist damit nicht behoben. Das eigentliche Problem lautet: Zumindest wenn ein Gast auf's Board geht, wird ihm nicht die Userid -1 gegeben, sondern "nix". Jedenfalls existiert der Wert für die user_id eines Users nicht in der Funktion für die Ausgabe der Topic List. Deswegen crasht die SQL. Ob dies auch eingeloggte User betrifft kann ich nicht sagen, da ich ja keinen Account auf Deinem Board besitze. ;)

Schau mal in Deiner phpbb_users ob da die Zeile mit der userid -1 und dem Namen "Anonymous" existiert. Da würd ich zuerst schauen. Ansonsten musst Du die index.php auch mal hier als DL anbieten, damit ich sehen kann, wo Du die Topic List eingebunden hast.

Grüße,
Tekin

Verfasst: 20.12.2007 14:59
von fossilis
Hi cYbercOsmOnauT,

danke erstmal für deine Antwort. Also ich habe mal in der phpbb_users geschaut und dort existiert kein Anonymus Benutzer.
Da dieses Zeile nicht existiert nun mal ne Frage, kann ich die einfach dort einfügen und das Problem wäre gelöst?

Auch wenn ich mich nur als registrierter Benutzer abmelde erhalte ich folgende Fehlermeldung:
phpBB : Critical Error

Error obtaining user details

DEBUG MODE

SELECT * FROM phpbb_users WHERE user_id = -1

Line : 478
File : sessions.php
Hier ist die index.php .

Verfasst: 20.12.2007 15:35
von cYbercOsmOnauT
Diese Fehlermeldung ist schon sehr aussagekräftig. Wie es scheint hast Du aus der phpbb_users den Gastaccount gelöscht.

Füge mal via phpMyAdmin folgende SQL in Deine Boarddb ein:

Code: Alles auswählen

INSERT INTO phpbb_users (user_id, user_active, username, user_level, user_dateformat) VALUES (-1, 0, 'Anonymous', 0, 'd.m.Y H:i');
Damit sollte der Gastaccount wieder in Deine Usertabelle eingefügt werden und das Problem sich erledigen.

Grüße,
Tekin

Verfasst: 20.12.2007 16:51
von fossilis
Hi Tekin,

es lag wirklich am Anonymous User der in der phpbb_users fehlte. Jetzt kann man als Gast wieder sorgernfrei surfen. Nochmals vielen Dank für deine kompetente Hilfe.

Nur komisch, dass dieser User einfach verschwindet?!?
Ich meine das die ein oder andere Tabelle mal hin und wieder repariert werden muss sehe ich ja noch ein, dass aber Datensätze einfach verschwinden? Komisch.

Verfasst: 20.12.2007 21:37
von cYbercOsmOnauT
Entweder ist der Datensatz bei einem Tabellencrash verschütt gegangen, oder einer von Euch hat mal falsch geklickt, oder ein Mod hat gar versehentlich den falschen User gelöscht. Who knows?

Die Änderung die ich in meinem ersten Posting geschrieben hatte, kannst Du dann nun wieder rückgängig machen.