Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: 01munrra en 3 Abril 2012, 15:09 pm



Título: No funciona INSERT!!!
Publicado por: 01munrra en 3 Abril 2012, 15:09 pm
saludos!, lo que estoy haciendo es  pasando los registros de una tabla a otra tabla, pero no me esta funcionando  el INSERT,

Código
  1.  $Padre = 0;
  2.  
  3.  for( $i=0; $i<$numero; $i++ )
  4.   {    
  5.      $registro = mysql_fetch_array($consulta);
  6.  $nivel = $registro['Id'];  
  7.  $registrar = "INSERT INTO estructura(Id_nivel,Id_Padre) VALUES('$nivel','$Padre')";
  8.      mysql_query($registrar);
  9.  $Padre = $registro['Id'];  
  10.  
  11.   }
  12.  

que estoy haciendo mal???


Título: Re: No funciona INSERT!!!
Publicado por: Shell Root en 3 Abril 2012, 15:37 pm
Lo que siempre he dicho, primero verifica la query antes de realizarlo en PHP.
Y no se porque creo que $padre no contiene nada a la hora de realizar la query.


Título: Re: No funciona INSERT!!!
Publicado por: ~ Yoya ~ en 3 Abril 2012, 15:38 pm
1 muy importante antes de testear, si vez que algo no funciona bien, trata de usar variables con valores ya pre-definido, osea prueba con valores estáticos.

Código
  1.  $Padre = 0;
  2.  
  3.  for( $i=0; $i<$numero; $i++ )
  4.   {    
  5.      $registro = mysql_fetch_array($consulta);
  6.  $nivel = $registro['Id'];  
  7.  $registrar = "INSERT INTO estructura(Id_nivel,Id_Padre) VALUES('$nivel','$Padre')";
  8.      mysql_query($registrar);
  9.  $Padre = $registro['Id'];  
  10.  
  11.   }
  12.  

La funcion mysql_fetch_array (http://dk2.php.net/mysql_fetch_array), retorna un array que contiene la información de las columnas seleccionadas.

Y le estas pasando como primer parámetro al INSERT, un array. Y encima le das el mismo valor de la variable $nivel a la variable $padre... Estarás confundido....

Te recomiendo que mires la documentación, y trata de aplicar print_r a todas las variables e array para ver que contienen hasta llegar a X punto.

Saludos.


Título: Re: No funciona INSERT!!!
Publicado por: Runex en 3 Abril 2012, 15:53 pm

Código
  1.  $Padre = 0;
  2.  
  3.  for( $i=0; $i<$numero; $i++ )
  4.   {    
  5.          $registro = mysql_fetch_array($consulta);
  6.  $nivel = $registro['Id'];  
  7.  $registrar = "INSERT INTO estructura(Id_nivel,Id_Padre) VALUES('$nivel','$Padre')";
  8.          $recibe = mysql_query($registrar);
  9.  $padre = $recibe['Id'];  
  10.  
  11.   }
  12.  

Prueba con ésto, me he ofuscado y no se me ocurre otra cosa :S

Un saludo

Prueba con ésto, si no me equivoco le estabas pasando como parametro


Título: Re: No funciona INSERT!!!
Publicado por: 01munrra en 3 Abril 2012, 16:20 pm
la idea de la variable $nivel y $padre, es ir creando una estructura tipo piramide, es decir, por niveles, un nivel va  a tener un padre, es por eso que estoy usando la ID como referencia del padre de cada nivel......

si me entienden ???


Título: Re: No funciona INSERT!!!
Publicado por: 01munrra en 3 Abril 2012, 17:48 pm
Shell Root tenias razon, revise el query y tenia un error en un parametro.....

Gracias!!! y gracias a todos por su atencion,.....    ;-)  ;-) ;D