Vinzenz Mai: Daten in einem Feld erweitern

Beitrag lesen

Hallo,

Meine Tabelle heist: bm60_prefs
Das Feld heißt: domains


Schema object names
werden im SQL-Dialekt von MySQL *nicht* mit einfachen Anführungszeichen maskiert.

Der Wert, den ich anhängen möchte, ist die im Formularfeld eingegebene Domain
Und ich möchte den Datensatz 1 ändern.

den Datensatz, der über die id mit dem Wert 1 identifiziert wird. Datensätze in einer Tabelle haben keine definierte Reihenfolge.

ich habe jettz folgendes gemacht:

Den Teil

$sql_insert = "INSERT INTO bm60\_prefs
            (domains)
            VALUES('".mysql_escape_string($_POST['domain'])."');";

durch diesen ersetzt

update 'bm60_prefs'
            set 'domains' = concat_ws(':', 'domains', 'domain')
         where id = 1;

Aha. Neben den bereits bemängelten fehlerhaften Quotes um Tabellen- und Spaltennamen entfernst Du die kontextgerechte Behandlung von Eingabedaten und vergisst, eine Zeichenkette ordnungsgemäß abzuschließen.

Als Antwort erhalte ich:

Parse error: syntax error, unexpected T_STRING in /home/postman/public_html/test2.php on line 25

Was ist den da jetz falsch?

Es fehlen vermutlich Anführungszeichen.

Alles in allem ist das, was Du gerade machst, ziemlich falsch. Überlege Dir bitte, was Du machen musst, wenn eine der Zuordnungen entfernt werden soll. Viel Spass dabei ...

Ach ja: wie wäre es damit, ein paar Grundlagen der verwendeten Techniken zu erlernen?

Grüße

Vinzenz