Stammdaten in DB ändern

Dustin84

Erfahrenes Mitglied
Hallo,

ich möchte meinen User die Möglichkeit geben ihre Stammdaten (die sie bei der registrierung angegeben haben) zu ändern.
Ich habe noch keine großartige Erfahrung mit Datenbankabfragen aber so wie es jetzt ist, ändert er den Vornamen bei allen Usern.
Wie bekomme ich das "$AktuelleUserID" noch in die Datenbankänderung ? (So das würde ja nur der Vorname der entsprechenden WebUser ID geändert)

PHP:
<?
session_start();

// Ausgabe der ID des angemeldeten User
$AktuelleUserID = $_SESSION['webuser']['ID'];

// Stammdaten ändern
$vorname = $_POST['s']['Forename'];
$result = mysql_query("UPDATE matchtblWebUser SET Forename ='".$vorname."'");
?>

Freue mich über eure Hilfe :-)

Gruß
D.
 
Hi,

mit der folgenden Anweisung änderst du die Daten für allle Benutzer.
PHP:
$result = mysql_query("UPDATE matchtblWebUser SET Forename ='".$vorname."'");

Was du brauchst (und schon richtig geschrieben hast), ist eine Bedingung, welche nur den Datensatz des aktuellen Benutzers ändert.

Hierzu musst du dir mal die Tabelle mit den Userdaten ansehen und den Primärschlüssel finden. Wie du das bisher geschrieben hast, denke ich dass es ein Feld Namens "ID" oder was ähnliches gibt.

Also musst du in die Datenbankabfrage von eine "WHERE-Bedingung" einfügen.
Wie das geht, kannst du zum Beispiel hier oder hier nachlesen.

Falls du es nicht schaffst, kannst gerne nochmal nachfragen. :)

Gruß
BK
 
Wie wär`s mit Handbuch lesen?
Die Entschuldigung, das du keine grossen Erfahrungen hast greift hier nicht, da diese "Problem" sich von selbst löst, wenn man nur mal kurz darüber nachdenkt und ins Handbuch schaut. ;)

//edit: Zu langsam :-(
 
PHP:
$result = mysql_query("UPDATE matchtblWebUser WHERE ID = '".$AktuelleUserID."' SET Forename ='".$vorname."'");

Klappt leider nicht :-(
 
Zuletzt bearbeitet:
Geht nun!

So ist es richtig:


PHP:
 $result = mysql_query("UPDATE matchtblWebUser SET Forename ='".$Vorname."' WHERE ID = '".$AktuelleUserID."' ");
 
Zuletzt bearbeitet:
Hi,

nochmal ne Kleinigkeit ;)
Du hast einen kleinen Fehler bei deinen Hochkommas.

PHP:
$result = mysql_query("UPDATE matchtblWebUser SET Forename ='".$Vorname." WHERE ID = '".$AktuelleUserID."' '");

Das soltle bei genauerer Betrachtung eher so aussehen:

PHP:
$result = mysql_query("UPDATE matchtblWebUser SET Forename ='".$Vorname."' WHERE ID = '".$AktuelleUserID . "'");

Gruß
BK
 
Danke danke nochmal für die schnelle Hilfe !!

Eine Frage noch: Wie sieht die Kurzschreibweise aus, wenn ich mehrere Felder habe ?

So solls ja nicht sein:
PHP:
$result = mysql_query("UPDATE matchtblWebUser SET Forename ='".$Vorname."' WHERE ID = '".$AktuelleUserID."' ");

$result = mysql_query("UPDATE matchtblWebUser SET Surname='".$Nachname."' WHERE ID = '".$AktuelleUserID."' ");

$result = mysql_query("UPDATE matchtblWebUser SET Kontakt_Strasse='".$Strasse."' WHERE ID = '".$AktuelleUserID."' ");
 
Zuletzt bearbeitet:
Hallo,

mehrere Felder in dem SET-Teil kannst du per Komma abtrennen.
Beispiel:
SQL:
UPDATE
  foobar
SET
  bar = 'a',
  foo = 'b'
WHERE
  foo = 'bar'

Gruß
BK
 
Zuletzt bearbeitet:
Zurück