• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Mal wieder SQL

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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
 
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.
 
UPDATE tabelle SET werte WHERE identifikation;

Beispiel:

UPDATE
News
SET
Name = 'Moin',
Datum = NOW()
WHERE
ID = '5';
 
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.
 
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.