Gelöschte USER reaktivieren?

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Shit happens :-P

Konnte ja nicht viel passieren.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Beitrag von piero »

in meinen tests (wollte das ganze noch mit variablen machen :P) hab ichs immerhin geschafft alle beiträge im forum einer bestimmten id zuzuweisen^^
aber für das gibts ja testforen^^
Knuffel77
Mitglied
Beiträge: 37
Registriert: 08.10.2008 15:28

Beitrag von Knuffel77 »

Hi Miriam und vielen Dank :grin:
Werde das gleich mal probieren.
Knuffel77
Mitglied
Beiträge: 37
Registriert: 08.10.2008 15:28

Beitrag von Knuffel77 »

Hab es im Testforum schon mal ausprobiert und hat geklappt.
Super - vielen Dank.
Aber die alte User ID brauchte ich doch nirgends..

Das einzige "Problem" was ich hab ist

Code: Alles auswählen

PDATE phpbb_topics SET topic_poster = 'neue ID' WHERE topic_first_poster_name = 'alter name';# MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen).
(Hab zur Erklärung hier die ID und Name geändert auf das was reinsollte, mit dem Nick bzw. der ID kannst ja so nix anfangen. Im Befehl hatte ich das schon geändert.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Na vllt hat der alte neue User nie einen Thread aufgemacht? :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Knuffel77
Mitglied
Beiträge: 37
Registriert: 08.10.2008 15:28

Beitrag von Knuffel77 »

Der alte neue? Nö, hab das direkt nach der Registrierung ausprobiert bevor was geschrieben wurde. Aber danke - nu sind alle Unklarheiten beseitigt :grin:
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Miriam hat geschrieben:Also der User registriert sich neu, meinetwegen mit altem Namen... Aber neuer ID!

Passe die Queries an und führe sie NACH der Registrierung des neuen alten Users aus.
Na also, schön, dass es so gut geklappt hat.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
laszlobela
Mitglied
Beiträge: 26
Registriert: 18.02.2008 13:37
Wohnort: Frickenhausen

Beitrag von laszlobela »

Hallo Gemeinde,

ich hätte dazu mal eine Frage:

Der alte Username wer Knuffel - die alte poster_id ist ja als Gast nun 1 - die Namen stehen auch noch bei den alten Beiträgen.

Ich hab das Script jetzt wie folgt angepasst:

UPDATE XXX_posts SET poster_id = '230' WHERE post_username ='Knuffel';
UPDATE XXX_posts SET post_username = 'Knuffel' WHERE post_username ='Knuffel';
UPDATE XXX_topics SET topic_poster = '230' WHERE topic_first_poster_name = 'Knuffel';
UPDATE XXX_users SET user_posts = (SELECT COUNT(post_id) FROM XXX_posts WHERE poster_id = '230') WHERE user_id = '230';

Die poster_id ist ja identisch mit der user_id.

Dennoch klappt es nicht - folgende Meldung ist das Ergebnis:

SQL-Befehl: Dokumentation

UPDATE XXX_users SET user_posts = ( SELECT COUNT( post_id )
FROM XXX_posts
WHERE poster_id = '1' )
WHERE user_id = '1'

XXX ist natürlich gegen den echten Präfix getauscht.

wobei COUNT in der Fehlermeldung rot markiert, sprich gehighligtet ist.

Wo mach ich da noch was falsch?

Danke für Eure Hilfe
Lieben Gruss
Bela
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Miriam hat geschrieben:...
Es kann sein, dass die Lösung mit dem verschachtelten SELECT in Deiner DB Version nicht funktioniert.
Dann musst Du halt zwei Abfragen machen:
Erst:

Code: Alles auswählen

SELECT COUNT(post_id) FROM XXX_posts WHERE poster_id = '230'
und das Ergebnis einsetzen in:

Code: Alles auswählen

UPDATE XXX_users SET user_posts = 'Ergebnis' WHERE user_id = '230';
*Vorgabe: Dein Tabellenpräfix ist XXX_
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
wolvieh
Mitglied
Beiträge: 83
Registriert: 24.12.2007 00:51

Re: Gelöschte USER reaktivieren?

Beitrag von wolvieh »

Ich hab' den Code jetzt verwendet, weil ich versehentlich einen User gelöscht habe.
Allerdings hab' ich vorher den User Guest einfach in den alten Usernamen umbenannt, was natürlich nicht funkioniert hat.

Ich hab' dann gedacht, dass der Code mit 'alter_name' auch nicht funkioniert hat, also hab' ich statt den alten Namen einfach 'Guest' geschrieben

Code: Alles auswählen

UPDATE phpbb_posts SET poster_id = 'neue_ID' WHERE post_username ='alter_name';
UPDATE phpbb_posts SET post_username = '' WHERE post_username ='alter_name';
UPDATE phpbb_topics SET topic_poster = 'neue_id' WHERE topic_first_poster_name = 'alter_name';
UPDATE phpbb_users SET user_posts = (SELECT COUNT(post_id) FROM phpbb_posts WHERE poster_id = 'neue_id') WHERE user_id = 'neue_id';
Jetzt hat aber Guest alle bisherigen Posts vom alten User zugeteilt, die neuen werden dem neuen User mit dem alten Usernamen zugeteilt. Kann ich das irgendwie ändern? Und kann ich dem neuen User die alte UserID geben?
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“