Prob mit SQL-Befehl
Maddin
- datenbank
0 Tobias Kloth0 Maddin0 FraFu0 Maddin
0 Tobias Kloth0 Ilja
Guten Morgen,
ich brauch mal wieder Hilfe. Was könnte an diesem SQL-Befehl falsch sein? Irgendwie will ers nicht machen:
$sql =
"UPDATE users SET Nickname='$userName', GroupMember=$groupMemNumber, Vorname='$firstName' , Nachname='$lastName', Email='$email', Geschlecht='$sexuality', Geburtstag='$birthday', Land='$country', Stadt='$town', Homepage='$homepage', IsRegistered=$isRegNumber
, Userbild='$userPicture', Signature='$signature', AboutMe='$about', Squad='$squad', Functions='$functions' WHERE Nickname='$origName'";
Und so siehts gefüllt aus:
UPDATE users SET Nickname='maddinel', GroupMember=1, Vorname='Martin' , Nachname='Franz', Email='martinfranz1983@hotmail.com', Geschlecht='male', Geburtstag='2005-11-06' , Land='Deutschland', Stadt='Homberg', Homepage='www.google.de', IsRegistered=1 , Userbild='http://news.bbc.co.uk/media/images/36615000/jpg/_36615217_winner150.jpg', Signature='Wenn ichs wüsst', würd ich nicht fragen!', AboutMe='Tja, so isses!', Squad='Testsquad', Functions='ForumAdmin;ServerAdmin;Webmaster
Hallo Maddin,
Was könnte an diesem SQL-Befehl falsch sein? Irgendwie will ers nicht machen:
Einen Fehler sehe ich jetzt nicht, aber was funktioniert denn genau nicht? Gibt es eine Fehlermeldung? Wenn ja, welche?
UPDATE users SET [...] Functions='ForumAdmin;ServerAdmin;Webmaster
Mal abgesehen davon, dass hier am Ende noch was fehlt - bist du sicher, dass dein Datenbankdesign nicht kaputt ist?
Grüße aus Nürnberg
Tobias
Wie meinst du das? Was soll am Datenbankdesign kaputt sein?
Was fehlt am Ende?
Hallo!
Wie meinst du das? Was soll am Datenbankdesign kaputt sein?
Kaputt würd ich nicht gleich sagen, aber in einem Fall fällt mir was auf.
Du speicherst "Functions" als String ab. Ich würde alle Functions als eigene Entities in einer Tabelle speichern und im User über eine Zwischentabelle als Foreign Key darauf referenzieren. Ist aber wahrscheinlich geschmackssache.
Was fehlt am Ende?
Der String ist nicht abgeschlossen.
mfg
frafu
Hi,
ja die Functions kann man auf schönere Art und Weise reinbekommen, aber da das nicht viele sind, wollte ich mir den Aufwand ersparen :-)
Der String ist abgelschlossen, nur komischerweise hat er das Semikolon an Ende nicht kopiert, obwohl es markiert war.
Naja egal, jetzt klappts auf jeden Fall.
Danke!
Hallo Maddin,
Wie meinst du das? Was soll am Datenbankdesign kaputt sein?
Das Feld "Functions" verletzt die 1. Normalform.
Was fehlt am Ende?
Der Inhalt von $sql endet mit
$functions' WHERE Nickname='$origName'";
das letzte was du aber als fertigen Query gepostet hast, ist der Inhalt von $functions.
Aber was ist denn jetzt mit der Fehlermeldung bzw. was macht der Query (nicht)?
Grüße aus Nürnberg
Tobias
yo,
Wie meinst du das? Was soll am Datenbankdesign kaputt sein?
Das Feld "Functions" verletzt die 1. Normalform.
es ist eher selten, dass die normalformen richtig verstanden werden. auch die beschreibung bei wikipedia trifft die erste normalform nicht richtig. grundsätzlich geht es um atomarität oder mit anderen worten, seine struktur muss die erste normalform nicht zwingend verletzten. wie gesagt, man sollte sich mal damit auseinander setzen, wodurch atomarität bei einem daten-design bestimmt wird. das blösse vorkommen von mehreren werten alleine reicht nämlich für eine aussage nicht aus.
Ilja