'Duplicate entry "8" for key 1'?
HejJeg har dennne hjemmeside www.xxxxx.dk og nogle gange når man bestiller en vare får man denne besked "Duplicate entry '8' for key 1", med forskellige tal.
Andre gange når man bestiller går varen fint igennem, hvad er der galt?
Jeg bruger en mySql database!
Php koden ser sådan ud:
<?php
session_start();
//etablerer forbindelse til databasen
$conn = mysql_connect("mydb1.surftown.dk", "XXX", "XXX") or die(mysql_error());
mysql_select_db("michell_varelager",$conn) or die(mysql_error());
$display_block = "<h1>Bekræftigelse</h1>";
//validering af varen
$select_from_orders = "SELECT efterkrav, overfoersel, ewire, fornavn, efternavn, adresse1, adresse2, city, postnr, telefon, mobil, email, add_type, sendtil, sendtil_adresse1, sendtil_adresse2, sendtil_by, sendtil_postnr, personlig_besked FROM orders WHERE session_id='".$PHPSESSID."'";
extract(mysql_fetch_array(mysql_query($select_from_orders))) or die(mysql_error());
if (!empty($efterkrav)) {
$salg = "Efterkrav <div style=\"text-align:center\">kr. 78,75</div>";
$pris = "78.75";
$betaling = "Efterkrav";
}
if (!empty($overfoersel)) {
$salg = "Bankoverførsel <div style=\"text-align:center\">kr. 46,50</div>";
$pris = "46.50";
$betaling = "Bankoverførsel";
}
if (!empty($ewire)) {
$salg = "Ewire <div style=\"text-align:center\">kr. 49,50</div>";
$pris = "49.50";
$betaling = "Ewire";
}
if (!empty($adresse2)) {
$adresse3 = "\n".$adresse2;
}
if (!empty($sendtil_adresse2)) {
$sendtil_adresse3 = "\n".$sendtil_adresse2;
}
if ($add_type == "samme") {
$levering = "Leveringsadressen er den samme";
} else {
$levering = "Levering sker til:\n".$sendtil."\n".$sendtil_adresse1."\n".$sendtil_postnr."".$sendtil_b y."\n\nDen personlige besked til modtageren er:\n".$personlig_besked;
}
$display_block .= "Du købte:<br/>";
$select_from_store_shoppertrack = "SELECT sel_item_id, sel_item_qty, sel_item_size, sel_item_price FROM store_shoppertrack WHERE session_id = '".$PHPSESSID."'";
// Hent først data ud
$resultat = mysql_query($select_from_store_shoppertrack);
// Kør så igennem for hver række
while ($raekke = mysql_fetch_array($resultat)) {
extract($raekke);
$select_from_inventory = "SELECT name, price FROM inventory WHERE id='".$sel_item_id."'";
extract(mysql_fetch_array(mysql_query($select_from_inventory))) or die(mysql_error());
$select_from_store_size = "SELECT store_item_qty FROM store_item_size WHERE item_id='".$sel_item_id."'";
extract(mysql_fetch_array(mysql_query($select_from_store_size))) or die(mysql_error());
$store_item = $store_item_qty - $sel_item_qty;
mysql_query("UPDATE store_item_size SET store_item_qty='".$store_item."' WHERE item_id='".$sel_item_id."'");
$sql = "INSERT INTO store_orders_itemmap (id, sel_item_id, sel_item_qty, sel_item_size, sel_item_price, efterkrav, overfoersel, ewire, fornavn, efternavn, adresse1, adresse2, city, postnr, telefon, mobil, email, add_type, sendtil, sendtil_adresse1, sendtil_adresse2, sendtil_by, sendtil_postnr, personlig_besked) VALUES ('".$PHPSESSID."', '".$sel_item_id."', '".$sel_item_qty."', '".$sel_item_size."', '".$sel_item_price."', '".$efterkrav."', '".$overfoersel."', '".$ewire."', '".$fornavn."', '".$efternavn."', '".$adresse1."', '".$adresse2."', '".$city."', '".$postnr."', '".$telefon."', '".$mobil."', '".$email."', '".$addtype."', '".$sendtil."', '".$sendtil_adresse1."', '".$sendtil_adresse2."', '".$sendtil_by."', '".$sendtil_postnr."', '".$personlig_besked."')";
mysql_query($sql) or die (mysql_error());
$price = $price * $sel_item_qty;
$price = array($price);
$display_block .= $sel_item_qty." stk. ".$name."<div style=\"text-align:center\">kr. ";
$counting = count($price);
for ($a=0; $a<$counting; $a++) {
$display_block .= str_replace(".", ",", $price[$a])."</div><br/>";
$prisen1 = $price[$a] + $prisen1;
}
$mail_tekst[] = $sel_item_qty." stk. ".$name." størrelse ".$sel_item_size;
}
$prisen2 = "Samlet pris<div style=\"text-align:center\">kr. ".str_replace(".", ",", $prisen1 + $pris)."</div>";
$display_block .= $salg."<br/>".$prisen2;
$emailadressen = "bixen@xxxxx.dk";
$emne = "Der er blevet købt varer på 5xX";
$tekst = "Hej.\n".$fornavn." ".$efternavn." købte noget på siden.\n\n".$fornavn."'s bestilling er\n\n:";
$coutning2 = count($mail_tekst);
for ($c=0; $c<$coutning2; $c++) {
$tekst .= $mail_tekst[$c]."\n";
}
$tekst .= "\nVedkommendes betalingsform var:\n".$betaling."\n\n".$prisen2."\n\nVedkommendes adresse er:\n".$adresse1."".$adresse3."\n".$postnr." ".$city."\n\n".$levering."\n\nVedkommendes emailadresse er:\n".$email;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: 5 x X biXen <".$emailadressen.">";
mail($emailadressen, $emne, $tekst, $headers);
$bestiller_emne = "Tak for din bestilling!";
$tekst1 = "Tusind tak for din bestilling hos 5 x X biXen!\n\nDu vil snarest modtage ordrebekræftelse pr. e-mail.\n\nMed venlig hilsen\n5 x X biXen";
mail($email, $bestiller_emne, $tekst1, $headers);
?>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="rullepanel.css">
<style>
a {text-decoration: none}
</style>
</head>
<body>
<? print $display_block; ?>
TAK FOR DIN BESTILLING
</body>
</html>