Hallo,
ich habe meine drei Spalten mit einem unique index versehen. Mein Code lautet nun so
if ($stmt = $mysqli->prepare("INSERT INTO projekte_test (code, status, titel, userID, von, bis, h_d, h_u, del, kostensplittung, anzahl_kostensplittung)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE kostensplittung = kostensplittung, anzahl_kostensplittung = anzahl_kostensplittung"))
{
$code = $projekt_Code;
$status = "1";
$titel = $_POST["titel"];
$userID = $object->user_code;
$von = $_POST["von"];
$bis = $_POST["bis"];
$h_d = date("d.m.Y");
$h_u = date("H:i:s");
$del = "0";
$kostensplittung = $_POST["kostensplittung"];
$anzahl_kostensplittung = $_POST["anzahl_kostensplittung"];
$stmt->bind_param("sssssssssss", $code, $status, $titel, $userID, $von, $bis, $h_d, $h_u, $del, $kostensplittung, $anzahl_kostensplittung);
}
Einen neuen Eintrag kann ich machen, ein doppelten lässt er nicht so, aber er macht kein Update. Irgendwo ist noch der Fehler. Seht ihr ihn vielleicht?
EDIT: Ich bin ja auch ein trottel. Muss natürlich so lauten
ON DUPLICATE KEY UPDATE kostensplittung = kostensplittung + VALUES(kostensplittung), anzahl_kostensplittung = anzahl_kostensplittung + VALUES(kostensplittung)
EDIT2:
- VALUES ist scheinbar falsch, denn da zählt er den Wert einfach nach oben und ersetzt diese nicht. Hmm da muss was anderes stehen.