Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2006, 05:44
Avatar de susaninhax
susaninhax
 
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
me da error de Duplicate Key y no sé porque.

Buenos días compañeros nuevamente;

Estoy con una tienda online a cuestas. Cuando voy a insertar el pedido en una tabla me dice duplicate key. Os pego parte del codigo esencial:
Código PHP:
//sesion
session_start(); 
//Iniciamos o retomamos la sesión 
$carro=$_SESSION['carro']; 
//La asignamos a la variable $carro 
/*require "../sesion.inc.php";
session_name(s);
$s=session_name();
$sid=$s."=".session_id();*/

//datos personales y fechas
$fecha=date("d-m-Y");
$fecha_tpvvl=date("d/m/Y");
$hora=date("H:i:s");
$hora_tpvvl=date("H:i:s");
$fecha_mysql=date("Y-m-d h:i:s");

$_POST["pago"]=="tarjeta de crédito";
$pago="V"

//quitamos la coma al importe y le ponemos los ceros a la izquierda
$importe_final=str_replace('.' ,''$importe_final); 
$importe_final=str_repeat("0", (11-strlen($importe_final))).$importe_final;

$sql_detalle_pedido="insert into detalles_pedido
(nombre, dni, direccion, cp, provincia, poblacion, email, telefono, pago, fecha, importe_final)
values
('"
.$_POST["nombre"]."', '".$_POST["dni"]."', '".$_POST["direccion"]."', '".$_POST["cp"]."', '".$_POST["provincia"]."', '".$_POST["poblacion"]."', '".$_POST["email"]."', '".$_POST["telefono"]."', '$pago', '$fecha_mysql', '".$_POST["importe_final"]."')";

$result_detalle_pedido=mysql_query($sql_detalle_pedido,$link)or die (mysql_error());

//datos del pedido
//$identificador_pedido = mysql_insert_id();  //recuperamos el id del cliente para llamar así al pedido

foreach($_SESSION['carro'] as $campo => $valor){

   
//recorremos la matriz que tiene todos los valores del carro, calculamos el subtotal y el total 
   
$sql="select *
    from productos
    where id_producto='"
.$valor["id_producto"]."'";
    
   
$result=mysql_query($sql) or die (mysql_error());

   
$row=mysql_fetch_array($result);
   
$id_producto=$row["id_producto"];
   
$nombre=$row["nombre"];
   
$precio=$row["precio"];
   
$id_subcategoria=$row["id_subcategoria"];
   
   
//cojemos la categoria y las seccion para insertarlo
$sqlb="select id_categoria, nombre
from subcategorias
where id_subcategoria='$id_subcategoria'"
;

$resultb=mysql_query($sqlb) or die (mysql_error());

$rowb=mysql_fetch_array($resultb);
$id_categoria=$rowb["id_categoria"];
$nombre_subcategoria=$rowb["nombre"];

$sqla="select nombre
from categorias
where id_categoria='$rowb[0]'"
;

$resulta=mysql_query($sqla) or die (mysql_error());

$rowa=mysql_fetch_array($resulta);
$nombre_categoria=$rowa["nombre"];

        
//insertamos todos los datos obtenidos
        
$sql_insertar_pedidos="insert into pedidos 
                         (id_pedido, nombre_producto, precio, subcategoria, categoria, cantidad)
  values
 ('"
.$_SESSION['id_pedido']."', '$nombre', '$precio', '$nombre_subcategoria', '$nombre_categoria', '".$valor["cantidad"]."')";
                        
        
$result_insertar_pedidos=mysql_query($sql_insertar_pedidos$link) or die (mysql_error());
//el error de Duplicate Key me lo da en este ultimo insertar en pedidos. 
Ese es el codigo ma o menos... le falta parte pero no influye akí. Mi problema viene en este ultimo párrafo donde inserto los datos en la tabla PEDIDOS. me dice que : "Duplicate entry '65535' for key 1" ese numero de 65535 se me ha guardado una vez en el id_pedido, pero da igual que cierre sesiones o abra nuevos exploradores con nuevos productos para la cesata que siempre me da ese mismo error...

Estoy super estancada. Alguien podría decirme que puedo hacer o como puedo solucionarlo????

Muchas gracias de antemano.