dedlfix: vergiss das Escapen nicht!

Beitrag lesen

Tach!

 if ($stmt = $mysqli->prepare("INSERT INTO artikel_merken_temporaer (userid, artikelid, menge, datum) 
	                VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE menge = menge + VALUES(menge) ")) { 

was soll VALUES(menge) an der Stelle?

Es nimmt den neuen, übergebenen Wert und nicht den bereits vorhandenen Wert in der Spalte.

Gibt es eine Funktion VALUES() in MySQL?

Ja.

Außerdem willst Du doch eher einen anderen (von außen in das prepared-Statement einzubindenden) Wert zur Spalte Menge addieren als den Inhalt der Spalte ...

Genau das macht er damit. Man muss den Wert nicht zweimal binden.

dedlfix.