Hallo zusammen,
Google-Webmastertools zeigten mir "Serverfehler" an. Grund:
Einige (ganz alte) Beiträge in der DB waren noch einer poster_id zugeordnet, obwohl der User gar nicht mehr existiert ... und beim Aufruf dieser Post im Forum kommt dann / deshalb SQL-Error ... da hab ich wohl "früher" unsauber User gelöscht ... egal ...
Gibt es ein Tool, das in der DB Tabelle _posts überprüfen kann, ob der unter poster_id genannte User in der Tabelle _users (Feld user_id) überhaupt noch existiert?
... und wenn nicht, dass dann die poster_id auf "1" (1 = Gast) gesetzt wird.
DANKE!
Beiträge sind in DB noch GELÖSCHTEN Usern zugeordnet
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Re: Beiträge sind in DB noch GELÖSCHTEN Usern zugeordnet
Du könntest auch erst einmal probieren, ob du die Sache über das Synchronisieren der Foren hinbekommst. Gehe dazu in den Administrationsbereich zu Foren - Foren verwalten und klicke dann bei dem entsprechenden Forum (allen Foren) auf diese orangefarbenen Pfeile rechts.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Beiträge sind in DB noch GELÖSCHTEN Usern zugeordnet
Ein Tool gibt es meines wissens nicht, aber eine einfache SQL Abfrage gibt's:
Das sollte für alle Posts in der Usertabelle nachsehen ob ein User existiert, der zur poster_id passt. Wenn es den nicht gibt ist der username nicht vorhanden und die post_id wird ausgegeben.
Bitte einmal ausprobieren ob das stimmt, indem du ein paar von den ausgegebenen Post IDs im Forum aufrufst mittels: www.example.com/forumpfad/viewtopic.php?p=post_id
Wenn da der Fehler kommt dann sollte die Abfrage korrekt funktioniert haben. Bitte dann auf jeden Fall erst mal ein Backup machen. Dann kannst du mit alle posts dem ANONYMOUS zuordnen (Achtung, diese Abfrage ist vermutlich relativ langsam). Das gleiche musst du ggf. aber noch mit den topics machen, hier betrifft das ggf. mehr spalten, weil es ja auch noch sowas wie last_poster_id gibt. Abgesehen von der poster_id auch hier müsste sich das aber auch mittels synchronisation im ACP beheben lassen.
Code: Alles auswählen
SELECT post_id FROM phpbb_posts p
LEFT JOIN phpbb_users u ON p.poster_id = u.user_id
WHERE u.username IS NULL
Bitte einmal ausprobieren ob das stimmt, indem du ein paar von den ausgegebenen Post IDs im Forum aufrufst mittels: www.example.com/forumpfad/viewtopic.php?p=post_id
Wenn da der Fehler kommt dann sollte die Abfrage korrekt funktioniert haben. Bitte dann auf jeden Fall erst mal ein Backup machen. Dann kannst du mit
Code: Alles auswählen
UPDATE phpbb_posts p SET p.poster_id = 1 WHERE post_id IN (SELECT post_id FROM phpbb_posts po LEFT JOIN phpbb_users u ON po.poster_id = u.user_id WHERE u.username IS NULL)
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Beiträge sind in DB noch GELÖSCHTEN Usern zugeordnet
Hallo,
habe nun mal alles synchronisiert ... hat nach 14 Jahren sicherlich nicht geschadet
... aber das Problem nicht behoben, trotzdem Danke Lehrling für die Idee!
Hab dann die SQL-Abfrage gemacht. Ja, hat alle Posts gefunden.
Da es nur 20 Posts von 4 Usern waren, hab ich die Änderungen in der DB manuell gemacht:
Hab in _posts die entsprechende poster_id auf 1 gesetzt,
und in _topics die topic_poster und topic_last_poster_id (sofern es die gelöschten user betraf) auch auf 1 gesetzt.
Das müsste es gewesen sein, oder gibt es außer poster_id, topic_poster und topic_last_poster_id sonst noch Stellen, die ich ggf. korrigieren müsste?
DANKE!!
habe nun mal alles synchronisiert ... hat nach 14 Jahren sicherlich nicht geschadet

... aber das Problem nicht behoben, trotzdem Danke Lehrling für die Idee!
Hab dann die SQL-Abfrage gemacht. Ja, hat alle Posts gefunden.
Da es nur 20 Posts von 4 Usern waren, hab ich die Änderungen in der DB manuell gemacht:
Hab in _posts die entsprechende poster_id auf 1 gesetzt,
und in _topics die topic_poster und topic_last_poster_id (sofern es die gelöschten user betraf) auch auf 1 gesetzt.
Das müsste es gewesen sein, oder gibt es außer poster_id, topic_poster und topic_last_poster_id sonst noch Stellen, die ich ggf. korrigieren müsste?
DANKE!!
Uwe
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Beiträge sind in DB noch GELÖSCHTEN Usern zugeordnet
Ich glaube höchstens noch, wenn das Thema in irgend einem Forum das neueste Thema ist, dann landet es noch in der forums Tabelle. Das kannst du im Zweifel am leichtesten durch erstellen (und ggf. anschließendes Löschen) eines neuen Posts beheben.
Du könntest höchstens noch Überbleibsel deiner gelöschten User in irgendwelchen Tabellen übrig haben, sofern du nicht alles entfernt hast, z.B. in den acl Tabellen oder den custom profile fields.
Du könntest höchstens noch Überbleibsel deiner gelöschten User in irgendwelchen Tabellen übrig haben, sofern du nicht alles entfernt hast, z.B. in den acl Tabellen oder den custom profile fields.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.