46356
Goto Top

Daten zu SQL Tabelle hinzufügen

Guten Abend

Ich google nun schon lange, habe aber leider immer noch keine Antwort auf mein Problem
gefunden.

Problem:

Ausgangssituation:
Ein User ist per Session eingeloggt.
Den Benutzernamen etc. gibt es schon in der db.

Nün möchte der Benutzer einen Text zu zeiner Zelle Hinzufügen:

Name 2 3 hinzufuegung
x x x y

Wenn ich folgenden Script aber ausführe, wird aber eine neue Zeile angelegt...
$eintrag = "INSERT INTO database (text)  
VALUES ('$text')";  

$eintragen = mysql_query($eintrag);

"y" sollte nur hinzugefügt werden...
Was mache ich da falsch?

Danke für eure Hilfe, Alex

Content-Key: 73582

Url: https://administrator.de/contentid/73582

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: filippg
filippg 14.11.2007 um 20:40:21 Uhr
Goto Top
Hallo,

gibt es denn die Spalte schon?
Wenn ja:
Du solltest ein UPDATE statt einem INSERT-Statement nehmen. Die genaue Syntax verrät dir das Handbuch deines SQL-Servers (leider gibst du den nicht mit an).
Wenn nein:
ein "ALTER TABLE" hilft weiter, hiermit kann man Spalten hinzufügen. Allerdings glaube ich nicht, dass du das wirklich willst. Du willst das ja wahrscheinlich für jeden Nutzer ausführen, hast dann also haufenweise Spalten, die jeweils nur in einer Zeile einen Eintrag haben sollen.
Btw: "text" ist ein ganz schlechter Name für eine Spalte, da "text" oft ein reserviertes Wort ist.

Eine kurze, m.E. ganz gute Einführung in Datenbanken und SQL gibt's unter http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/ schadet bestimmt nicht.

Filipp
Mitglied: Biber
Biber 14.11.2007 um 21:58:10 Uhr
Goto Top
Moin,

sorry, ich kann damit...
Nün möchte der Benutzer einen Text zu zeiner Zelle Hinzufügen:

Name 2 3 hinzufuegung
x x x y
auch nicht viel anfangen.

Bitte skizziere hier doch Namen und Felder der Table (z.B. das CREATE-Script).

Denn so wie ich glaube zu verstehen, willst Du ja nicht einen neuen Datensatz INSERTen, sondern nur ein Feld des Satzes aktualisieren.
Dafür müssen wir aber zwei Felder kennen:
  • das zu aktualisierende Feld ("hinzufuegung"???)
  • und das eindeutige für die WHERE-Clause ("Name"???)

Denn das Statement wird vermutlich ungefähr so lauten müssen:
Update tabellenname
Set hinzufuegung=x
Where Name=DieserUsername;

Aber genauer kannst nur Du es preisgeben.

Grüße
Biber