Problem mit "Dynamischer SQL Abfrage"
Andreas
- php
0 Mulder0 Achim Schrepfer0 Andreas
Hallo!
Kann man für ein Update Statement die Spalten nicht über eine Variable definieren? Ich könnte zwar ein kpl. Update ausführen, aber dann müßte ich alle anderen möglichen 20 Spalten auch auslesen und ob das dann viel besser klappt weiß ich auch nicht sicher.
So sollte das in etwa aussehen:
$dateispalte= "Dateiname".$i;
$titelspalte= "Bildtitel".$i;
$update = "UPDATE h_objekte SET ".$dateispalt." = '$dateiname' AND ".$titelspalte." = '$Bildtitel'";
Aber das geht leider nicht( parse Error). Jemand ne Idee wie das korrekt heißten müßte?
Grüße
Andreas
Hallo!
Kann man für ein Update Statement die Spalten nicht über eine Variable definieren? Ich könnte zwar ein kpl. Update ausführen, aber dann müßte ich alle anderen möglichen 20 Spalten auch auslesen und ob das dann viel besser klappt weiß ich auch nicht sicher.
So sollte das in etwa aussehen:
$dateispalte= "Dateiname".$i;
$titelspalte= "Bildtitel".$i;
$update = "UPDATE h_objekte SET ".$dateispalt." = '$dateiname' AND ".$titelspalte." = '$Bildtitel'";
UPDATE tabelle
SET spalte = $wert,
spalte2 = '$wert2',
spalte3 = $wert3
WHERE bedingung
Das sollte aber jedes SQL-Buch gleich ganz vorne sagen. :)
Hi Andreas,
$dateispalte= "Dateiname".$i;
$titelspalte= "Bildtitel".$i;
$update = "UPDATE h_objekte SET ".$dateispalt." = '$dateiname' AND ".$titelspalte." = '$Bildtitel'";
Aber das geht leider nicht( parse Error). Jemand ne Idee wie das korrekt heißten müßte?
für einen parse-error sehe ich hier zwar keinen Grund, aber das könnte auch an meinen überarbeiteten Augen liegen ;-) Aber das "AND" gibt irgendwie keinen Sinn. Ich denke mal, Du willst ein UPDATE-Statement zusammenbauen, das eine von - sagen wir mal - zwanzig "Dateiname*/Bildtitel*"-Spalten updatet, oder?
Dann:
$statement = "
UPDATE h_objekte SET
Dateiname$i = '$dateiname',
Bildtitel$i = '$bildtitel'
WHERE
id = irgendwas
";
vielleicht hilft`s ja. Ach ja, SQL-Statements mehrzeilig zu notieren ist gar nicht so verkehrt, weil dann MySQL-Fehlermeldungen u.U. aufschlussreicher werden.
viele Grüsse
Achim Schrepfer
hi!
für einen parse-error sehe ich hier zwar keinen Grund, aber das könnte auch an meinen überarbeiteten Augen liegen ;-) Aber das "AND" gibt irgendwie keinen Sinn. Ich denke mal, Du willst ein UPDATE-Statement zusammenbauen, das eine von - sagen wir mal - zwanzig "Dateiname*/Bildtitel*"-Spalten updatet, oder?
Tja, war zufällig die Zeile, da ich vorher einmal " vergessen hatte :-)
Und das mit AND war auch falsch, k.A. wie ich darauf gekomen bin!
Dann:
$statement = "
UPDATE h_objekte SET
Dateiname$i = '$dateiname',
Bildtitel$i = '$bildtitel'
WHERE
id = irgendwas
";
vielleicht hilft`s ja. Ach ja, SQL-Statements mehrzeilig zu notieren ist gar nicht so verkehrt, weil dann MySQL-Fehlermeldungen u.U. aufschlussreicher werden.
Gute Idee!
Danke Dir!
Grüße
Andreas