Foros del Web » Programando para Internet » PHP »

Porque me hace 2 inserts??

Estas en el tema de Porque me hace 2 inserts?? en el foro de PHP en Foros del Web. Tengo este codigo Código PHP: $tok  =  strtok  ( $_POST [ 'mod' ], ";" ); while ( $tok  !==  false )  {      $consulta = "insert into model_cons values ('" ...
  #1 (permalink)  
Antiguo 17/06/2008, 15:14
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Porque me hace 2 inserts??

Tengo este codigo

Código PHP:
$tok strtok ($_POST['mod'],";");
while (
$tok !== false
{
    
$consulta="insert into model_cons values ('".$tok."','".$_POST['ref']."')";
    
$resultat=mysql_query($consulta);
    
$cons="insert into model (Id_Model,Id_Marca) values ('".$tok."',".$_GET['marca'].")";
    
$res=mysql_query($cons);
    
$tok strtok(";");

y $_POST['mod'] puede ser por ejemplo "FFFFF;"

alguien podria decirme porque me hace dos insert??

luego si miro la BD hay otro campo igual pero con un 0 en donde tendria que haber el valor de $tok.

Muchas gracias, y espero que esto vaya aqui
  #2 (permalink)  
Antiguo 17/06/2008, 15:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me hace 2 inserts??

bueno... si el siguiente strtok() devuelve nada, no hay manera de que lo sepas... ni siquiera te aseguras de el contenido de $tok (y ese es tu error, no de PHP)

yo lo haría con un foreach() y explode() .... pero cada quien a su manera, suerte!

PDTA: ¿que hacer? ....mmm, compara el valor de $tok antes de usarlo, eso se le llama... asegurarse de hacer bien las cosas... no solo hacerlas
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/06/2008, 16:35
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Porque me hace 2 inserts??

Cita:
Iniciado por pateketrueke Ver Mensaje
bueno... si el siguiente strtok() devuelve nada, no hay manera de que lo sepas... ni siquiera te aseguras de el contenido de $tok (y ese es tu error, no de PHP)

yo lo haría con un foreach() y explode() .... pero cada quien a su manera, suerte!

PDTA: ¿que hacer? ....mmm, compara el valor de $tok antes de usarlo, eso se le llama... asegurarse de hacer bien las cosas... no solo hacerlas
Siento si te he molestado, en ningun momento he dicho que fuera culpa del PHP ni del MySql.

Bueno, haber si alguien es un poco mas simpatico, ya que de moemnto lo he arreglado, pero con una chapuza bastante bestia.

gracias por molestarte de todas formas
  #4 (permalink)  
Antiguo 17/06/2008, 17:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me hace 2 inserts??

discúlpame a mi.... ya que por el titulo (Porque me hace 2 inserts??) parece que le responsabilizas de algo a "algo" .... y pensé que te referías al código, quizá con un titulo... Porque hago 2 inserts?? seria menos confuso... disculpa!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/06/2008, 04:01
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Porque me hace 2 inserts??

Cita:
Iniciado por pateketrueke Ver Mensaje
discúlpame a mi.... ya que por el titulo (Porque me hace 2 inserts??) parece que le responsabilizas de algo a "algo" .... y pensé que te referías al código, quizá con un titulo... Porque hago 2 inserts?? seria menos confuso... disculpa!
ningun problema, siento haber contestado asi tambien.

Es que me lleva frito jejeje, al final lo solucione, haciendo una chapuza, pero funciona, tendre que seguir aprendiendo para ver si asi las cosas me salen mejor.

Un saludo
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 14:59.