SQL Error:1064 in File functions_topics_list.php

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
fossilis
Mitglied
Beiträge: 79
Registriert: 29.08.2007 13:01

SQL Error:1064 in File functions_topics_list.php

Beitrag 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.
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
fossilis
Mitglied
Beiträge: 79
Registriert: 29.08.2007 13:01

Beitrag 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 .
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
fossilis
Mitglied
Beiträge: 79
Registriert: 29.08.2007 13:01

Beitrag 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.
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“