1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Mal wieder SQL

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Datschi, 15.03.07.

  1. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    Hi ihr fleißigen Helfer.
    Ich hätte da mal ne Frage zu SQL-Update-Strings. Und zwar, ob es möglich ist, Einträge zu aktualisieren, wie mit INSERT. Also zuerst die Felder definieren und dann nach VALUES die Werte hintereinanderweg zu posten. Geht das?
    Soll so aussehen:
    Code:
    UPDATE `ger_sights` (`icon`,`icon_selected`,`icon_t1`,`icon_t2`,`icon_t3`,`icon_t4`,`icon_t5`) VALUES ('altes_museum_a.png','altenationalgalerie_p.png','berliner_dom_a.png','brandenburger_tor_a.png','bundeskanzleramt_p.png','checkpoint_charlie_p.png',NULL) WHERE `s_id` = 6;
    oder kann ich anstatt UPDATE auch INSERT INTO benutzen???

    Bin für jede Hilfe dankbar!

    Der Datschi
     
  2. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    Weiß zwar nicht genau was du meinst aber vielleicht ist REPLACE was für dich. Diese Funktion erstellt einen neuen Datensatz wenn der vordefinierte nicht bestimmt ist. Wenn der Satz existiert wird er nur aktualisierst.
     
  3. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    UPDATE tabelle SET werte WHERE identifikation;

    Beispiel:

    UPDATE
    News
    SET
    Name = 'Moin',
    Datum = NOW()
    WHERE
    ID = '5';
     
  4. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    Ja, das es so geht, weiß ich ;)
    Dachte aber, ich könnte mir das zusammensetzen des Strings mit Schleifen und so sparen ^^, bzw. neu schreiben.
     
  5. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.255
    PostgreSQL und einige andere DBMS bietet
    Code:
    PGresult *PQexecParams(PGconn *conn,
                           const char *command,
                           int nParams,
                           const Oid *paramTypes,
                           const char * const *paramValues,
                           const int *paramLengths,
                           const int *paramFormats,
                           int resultFormat);
    
    Bzw. in PHP sieht dann das so aus
    Code:
    pg_query_params(resource $connection, string $query, array $params)
    
    Der SQL-String sieht dann wie folgt aus.
    Code:
    UPDATE`ger_sights` SET icon=$1, icon_selected=$2, icon_t1=$3, icon_t2=$4, icon_t3=$5, icon_t4=$6, icon_t5=$7 WHERE s_id=6
    
    Die Werte werden dann in einem Array übergeben. Du könntest diese Funktion nachbauen und so nebenbei einfach gegen SQL-Injections absichern.
     

Diese Seite empfehlen