Warenkorb: nur erste Ware wird hinzugefügt

hab1cht

Erfahrenes Mitglied
Hallo,
ich suche jetzt schon seit Stunden nach diesem Problem und finde es einfach nicht.
Ich will mir einen kleinen E-Shop programmieren (komme auch recht gut voran).
Nur beim Warenkorb wird nur die erste Ware hinzugefügt, die 2. Ware wird nicht in die MySQL-Tabelle geschrieben, Gott weis warum.

Hier mal der Code:
PHP:
$W_ID = $_SESSION['W_ID']; // Warenkorb ID
$P_ID = $_GET['P_ID'];  // Produktnummer
$Anzahl = $_GET['Anzahl']; // Menge des Produkts

if($_GET['action'] == "insert"){

// Hier werden die Artikeldaten aus der Produkt-Tabelle geholt

$result = mysql_query("SELECT Artikelnummer, Bezeichnung, Preis FROM produkte WHERE P_ID = '$P_ID'");
$show = mysql_fetch_array($result);
$Artikelnummer = $show["Artikelnummer"];
$Bezeichnung = $show["Bezeichnung"];
$Stückpreis = $show["Preis"];

// und dann werden die Daten in der Tabelle Warenkorb gespeichert

$result = mysql_query("INSERT INTO warenkorb VALUES('$W_ID','','$P_ID', '$Artikelnummer', '$Bezeichnung', '$Anzahl', '$Stückpreis', '')");
}

Momentan habe ich 2 Testartikel:
wenn ich Artikel1 in den Warenkorb mache und danach Artikel2 hinzufüge, so wird dieser nicht hinzugefügt
wenn ich Artikel2 in den Warenkorb mache und danach Artikel1 hinzufüge, so wird dieser nicht hinzugefügt

Hoffe Ihr könnt mir helfen, bin am verzweifeln.
Vielen Dank im Voraus.

MFG
hab1cht
 
Zuletzt bearbeitet:
Habe jetzt mal mysql_error() angefügt und dann kommt folgender Fehler:

Code:
Duplicate entry '52bf5015ff2acba6cd3029814b19c797' for key 1

Dieses 52bf.... ist die W_ID, diese habe ich in der MySQL-Tabelle als Primärschlüssel eingerichtet, liegt das daran?
Was kann ich machen?

Vielen Dank im Voraus.

MfG
hab1cht
 
danke, habe den Primärschlüssel entfernt, muss mir jetzt allerdings was neues einfallen lassen, wie ich den Primärschlüssel noch in die Tabelle einbaue.

MfG
hab1cht
 
Eine Spalte namens "id" vom Typ INT einfügen und der einen Primärschlüssel geben. Außerdem auf "auto_increment" stellen - dadurch wird dort bei jedem "insert" automatisch eine aufsteigende Zahl eingefügt.
 
Zurück