Moin,
Vielen Dank, das funktioniert so tatsächlich. Aber das
as new
und dannvalue = 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