tk: Datenbank-Werte mit übergebenen Form-Werten vergleichen

Beitrag lesen

Moin,

Vielen Dank, das funktioniert so tatsächlich. Aber das as new und dann value = new.value will er irgendwie nicht schlucken. Liegt vielleicht daran, dass ich mit bindValue arbeite, aber wenn ich ganz normal value = :value am Ende als Syntax habe, geht der Befehl.

Nein, das liegt daran dass du unter MariaDB noch mit VALUES(value) arbeiten musst, siehe Handbuch – bei MySQL ist der Syntax seit Version 8.0.20 als veraltet eingestuft.

Mich würde dennoch interessieren, ob und wie man das auch mit PHP-Schleifen bewerkstelligen könnte. Aber ich konnte mir einfach keine abstrakte Logik dazu ausdenken, die funktioniert.

Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. $gefunden = false;) welche du innerhalb des if-Blocks auf true setzt. Wenn $gefunden dann nach der inneren foreach-Schleife immer noch false ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.

Gruß
Tobias