Foros del Web » Programando para Internet » PHP »

Insert en MySQL, se repite

Estas en el tema de Insert en MySQL, se repite en el foro de PHP en Foros del Web. Hola Gente, nuevamente yo... Tengo una duda sobre PHP... Tengo un carrito y al momento de guardar los datos, debo hacer varios INSERT en diferente ...
  #1 (permalink)  
Antiguo 03/11/2004, 07:09
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 7 meses
Puntos: 1
Exclamación Insert en MySQL, se repite

Hola Gente, nuevamente yo...

Tengo una duda sobre PHP...
Tengo un carrito y al momento de guardar los datos, debo hacer varios INSERT en diferente tablas mediante PHP... las tablas son 3, en una guardo los datos de la orden y el que la realizo... en otro los productos que compro y en en otra el total de la compra....

El codigo esta perfecto, es mas, funciona bien siempre... va casi siempre. Aca esta mi duda, de vez en cuando (no siempre) me guarda 2 veces el total de la orden, o sea que me hace 2 inserts en la tabla de los totales, mientras que en las otras 2 inserta bien y una unica vez...

A ke se debe esto ?? puede ser un problema de muchas visitas al sitio o es error de codgio??...
Aca les paso el codigo, no con todos los campos porke los volveria locos, pero le paso la parte mas importante de los INSERT:

Código PHP:
#Insert Order
      
$insert="insert into orders(orders_id, orders_status_id, orders_ipaddress, customers_id, customers_gender, customers_firstname, customers_lastname)";
      
      
$values="values($idmax, 1, '$REMOTE_ADDR', '".$_SESSION['id_user']."', '$customers_gender', '$customers_firstname', '$customers_lastname')";
      
$insert=$insert.$values;
      
query($insert);
      
//echo $insert;
      
      //Order Products
      
$i=0;
      foreach(
$_SESSION['items'] as $variable => $valor){
      
$i++;
      if(
$valor){
        
$insert="insert into orders_products(orders_id, products_id, products_name, quantity)";
      
        
$values="values($idmax, '$products_id', '$products_name', '".$_SESSION['cantidad'][$i]."')";
        
$insert=$insert.$values;
        
query($insert);
      
        
$orders_total_price+=$variants_sale_price*$_SESSION['cantidad'][$i];
      }
      }
      
//Order TOTAL
      
$insert_total="insert into orders_total(orders_id, orders_total_price)";
      
$values="values($idmax, '$orders_total_price')";
      
$insert_total=$insert_total.$values;
      
query($insert_total); 
__________________
Saludos :adios: :adios: :adios:

Última edición por granbosteron; 03/11/2004 a las 07:19
  #2 (permalink)  
Antiguo 03/11/2004, 07:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

¿Llevas control de los errores en las consultas? Puede que si ejecute todo el codigo 2 veces, pero que las otras consultas produzcan un error la segunda vez que se intentan ejecutar, y por eso solo las inserta 2 (aunque lo intenta 2).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.