Datenbankeinträge per Script bearbeiten?

Started by Tercel, April 28, 2004, 08:05:18 AM

Previous topic - Next topic

Tercel

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

treo

#1
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_HOSTMYSQL_USERNAMEMYSQL_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

Christian Land

#2
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...

treo

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 :)

Christian Land

OK, treo's Lösung klappt auch ohne phpMyAdmin ;D

Christian Land


treo

mein post war ja auch nur paar sekunden nach deiner änderung :)

Tercel

 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

Advertisement: