Simple Machines Community Forum

SMF Support => Language Specific Support => Hilfe zu SMF (German) => Topic started by: Tercel on April 28, 2004, 08:05:18 AM

Title: Datenbankeinträge per Script bearbeiten?
Post by: Tercel on April 28, 2004, 08:05:18 AM
Ich habe folgendes Problem:
Nach der Umstellung von YaBB G 1.3.1 auf SMF hatte ich 2 Administratoren.
Anscheinend habe ich dann auch noch den falschen gelöscht, und jetzt habe ich Einträge im Forum, die unter "Admin" und "Gast" erscheinen.

In der Datenbank sind Sie mit der ID_Member "0" eingetragen.

Ich kann diese zwar manuell ändern, aber bei über 300 Einträgen ist das doch ein bisschen Zeitaufwendig.

Da ich in der Erstellung von Scripts für MySql noch ein absoluter Neuling bin, und nichts zerschießen möchte, wollte ich mal fragen, ob irgendjemand hier, so ein Script erstellen könnte.

Da es in der Zwischenzeit auch Einträge mit ID_Member "0" gibt, die ich nicht geschrieben habe, wäre es sinnvoll eine zweite Bedingung, "posterName", mit abzufragen, und eine Eingabe der jetzt entsprechenden ID_Member zu ermöglichen.

irgenwas wie:
if 'ID_Meber' = '0' and 'posterName' = 'username' then 'ID_Meber' = '99'
oder so...

Kann jemand helfen? DANKE!

Gruß Tercel
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: treo on April 28, 2004, 08:38:06 AM
Du machst am besten noch ein backup bevor du das hier benutzt, du musst es auch noch ein bisschen anpassen weil ich die DB struktur des YaBB Gold 1.3.1 nicht kenne.

<?php
//connect daten anpassen
define('MYSQL_HOST', 'localhost');
define('MYSQL_USERNAME', 'dein_username');
define('MYSQL_PASSWORT', 'dein_passwort');
define('MYSQL_DB', 'deine_Datenbank');

$link = mysql_connect(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASSWORT);
mysql_select_db(MYSQL_DB, $link);

$tabelle = 'smf_messages'; //Tabellenname anpassen
$query = "UPDATE $tabelle SET id_member = 99 WHERE (id_member = 0 AND postername = 'HIER DEN USERNAMEN EINFÜGEN');"; //Feldernamen anpassen
mysql_query($query, $link) or die(mysql_error($link));
echo
"Es wurden ",mysql_affected_rows($link)," Änderungen vorgenommen";
?>


PS: die Zitat funktion zum besseren Kopieren missbrauchen :D
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: Christian Land on April 28, 2004, 08:47:57 AM
UPDATE smf_messages SET id_member = 99 WHERE (id_member = 0 AND postername = 'HIER DEN USERNAMEN EINFÜGEN');

z.B. also:

UPDATE smf_messages SET id_member = 99 WHERE (id_member = 0 AND postername = 'tralala');

würde bei allen Nachrichten diie MEmber-ID auf 99 setzen wo momentan die ID = 0 ist und der posterName = 'tralala' wäre...
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: treo on April 28, 2004, 08:50:17 AM
meh! stimmt ja er hat ja in smf konvertiert ^^
ok das oben gepostete script wird so wie Snowcrash schon geschrieben hat geändert ...

@ Snowcrash:
du hast ein ) vergessen

ah gut du hast es schon selbst bemerkt :)
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: Christian Land on April 28, 2004, 08:50:34 AM
OK, treo's Lösung klappt auch ohne phpMyAdmin ;D
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: Christian Land on April 28, 2004, 08:51:07 AM
Quote from: treo on April 28, 2004, 08:50:17 AM
@ Snowcrash:
du hast ein ) vergessen

*lach* schon gesehen ;D
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: treo on April 28, 2004, 08:52:43 AM
mein post war ja auch nur paar sekunden nach deiner änderung :)
Title: Re: Datenbankeinträge per Script bearbeiten?
Post by: Tercel on April 29, 2004, 01:08:47 PM
 8)

Ein fettes Merci an Euch beide!
Hat prima geklappt, und mich der ganzen Sache auch wieder ein Stück näher gebracht! (learning by doing  ;))

SUPER !

Tercel