Seite 1 von 2
[3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 04.08.2023 21:38
von cpg
Moin,
ich habe einen alten Beitrag gefunden. Dort wird vorgeschlagen:
Code: Alles auswählen
UPDATE phpbb_posts_text
SET post_text = REPLACE(post_text, 'old text', 'new text')
WHERE post_text LIKE '%old text%'
Ist das noch gültig - mit den notwendigen Änderungen?
Ich danke für Hinweise!
Gruß
cpg
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 04.08.2023 22:16
von LukeWCS
Hallo
Da MySQL weit ausserhalb meiner Komfortzone liegt

, habe ich eben in meinem SQL Schnippsel-Archiv gestöbert, die ich schon bei mir im Forum erfolgreich angewendet habe. Das ist aber schon sehr viele Jahre her.
Eine Tabelle
posts_text
gab es laut meinem phpBB Archiv zuletzt bei phpBB 2.0. Da hast du also etwas aus der Steinzeit von phpBB ausgebuddelt. ^^
Ansonsten würde der Code aber noch so passen, wenn du
phpbb_posts_text
durch
phpbb_posts
ersetzt. Und wie immer bei solchen Aktionen: vorher DB sichern.
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 04.08.2023 22:28
von cpg
Dankeschön!
Ich werde es morgen in Ruhe machen.
Ja, das Thema ist alt; aber ich wollte schon mal selbst suchen und dann die notwendigen Änderungen vornehmen.
Gruß und gute Nacht
cpg
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 07:13
von Dref
Versuchen Sie nach einer Datenbanksicherung Folgendes:
Code: Alles auswählen
UPDATE phpbb_posts SET post_text = 'new text' where post_text LIKE '%old text%'
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 08:47
von Dr.Death
Achtung, der o.g.
SQL Befehl von Dref ersetzt den kompletten Beitragstext
Bitte nicht verwenden!
Der folgende SQL Befehl macht genau das, was Du möchtest: es ersetzt nur den Teil eines Beitrags, der mit dem zu ersetzenden Text übereinstimmt.
Vorher ein Datenbank Backup erstellen!
Code: Alles auswählen
UPDATE phpbb_posts
SET post_text = REPLACE(post_text, 'old text', 'new text')
WHERE post_text LIKE '%old text%'
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 09:21
von cpg
Guten Morgen,
ich danke euch!
Da es sich um ein umfangreiches Forum handelt, werde ich es möglichst schrittweise vornehmen. Kann ich forum_id und post_id in die Zeilen einflechten?
Da vielleicht noch andere Userinnen und User betroffen sind, möchte ich näher erklären, um was es geht.
In meinem Forum können Bilder über andere Domains eingestellt werden. Ich glaube, das ist auch hier und in anderen Foren möglich.
Bei einem dieser Bilderdienste erhalte ich Warnmeldungen an meinem heimischen Rechner und es wird auf eine Blacklist verwiesen.
Als erste Maßnahme habe ich über Wortzensur dafür gesorgt, dass die Adresse nicht mehr erlaubt/angenommen wird.
Allerdings will ich "klare Kante" machen und sämtliche Links auf die bemängelte Adresse rausnehmen.
Gruß
cpg
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 09:59
von Dr.Death
Klar, da
forum_id
und
post_id
in der Tabelle
phpbb_posts
enthalten ist.
Einfach mit "and" verknüpfen:
Code: Alles auswählen
UPDATE phpbb_posts
SET post_text = REPLACE(post_text, 'old text', 'new text')
WHERE post_text LIKE '%old text%'
AND forum_id = 123
AND post_id = 456
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 11:09
von chris1278
Aber mal eine ganz dumme Frage. Wenn du ja die Foren aufrufen musst um die id´s aus dem link zu entnehmen warum musst du dann das noch für jedes Forum einzeln in der Datenbank mit sql löschen. Dann könntest du das auch direkt per Moderator-Berechtigung im Forum direkt löschen.
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 11:24
von cpg
Moin,
erst habe ich manuell gelöscht, aber es sind schon recht viele Eintragungen, die allerdings überwiegend zwei Foren betreffen.
Ich halte es für besser, wenn ich die Original-Eintragungen der bemängelten Domain rausnehme.
Oder ist es ein Denkfehler?
Die "Wort-Zensur" hat nicht gereicht.
Gruß
cpg
Re: [3.3] Einen Begriff für das gesamte Forum über Datenbank rausnehmen
Verfasst: 05.08.2023 11:42
von chris1278
Naja ich meine um die Foren IDs und Topic IDs zu finden musst du ja eh die Foren aufrufen. In meinen Augen ist das doppelte Arbeit.