Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (php) [Seleccionar]

  $Padre = 0;

  for( $i=0; $i<$numero; $i++ )
   {     
      $registro = mysql_fetch_array($consulta);
  $nivel = $registro['Id'];   
  $registrar = "INSERT INTO estructura(Id_nivel,Id_Padre) VALUES('$nivel','$Padre')";
      mysql_query($registrar);
  $Padre = $registro['Id'];  

   }


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 (php,5,6) [Seleccionar]
 $Padre = 0;

 for( $i=0; $i<$numero; $i++ )
  {    
     $registro = mysql_fetch_array($consulta);
 $nivel = $registro['Id'];  
 $registrar = "INSERT INTO estructura(Id_nivel,Id_Padre) VALUES('$nivel','$Padre')";
     mysql_query($registrar);
 $Padre = $registro['Id'];  

  }


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 (php,5,6) [Seleccionar]
  $Padre = 0;

  for( $i=0; $i<$numero; $i++ )
   {     
          $registro = mysql_fetch_array($consulta);
  $nivel = $registro['Id'];   
  $registrar = "INSERT INTO estructura(Id_nivel,Id_Padre) VALUES('$nivel','$Padre')";
          $recibe = mysql_query($registrar);
  $padre = $recibe['Id'];  

   }


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