Foros del Web » Programando para Internet » PHP »

problemas con mysql_insert_id

Estas en el tema de problemas con mysql_insert_id en el foro de PHP en Foros del Web. Amigos del foro espero puedan echarme una mano , Tengo la siguiente problematica tengo un formulario con el siguiente codigo , con el nombre de ...
  #1 (permalink)  
Antiguo 26/06/2011, 22:22
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
problemas con mysql_insert_id

Amigos del foro espero puedan echarme una mano ,

Tengo la siguiente problematica tengo un formulario con el siguiente codigo , con el nombre de crearportafolio.php

Código PHP:
Ver original
  1. <form method="POST" action="operacion.php">
  2. <input type="hidden" name="operacion" value="crearportafolio">
  3. <table border="0" cellpadding="0" cellspacing="0" width="400">
  4.     <tr>
  5.         <td>Nombre Portafolio</td>
  6.         <td><input type="text" name="nombreportafolio"></td>
  7.     </tr>
  8.     <tr>
  9.   <td></td>
  10.   <td>
  11.     <input type="submit"  value="Crear Portafolio" class="botones" />
  12.   </td>
  13. </tr>
  14. </table>
  15. </form>

el codigo que insertar los datos en la BD


Código PHP:
Ver original
  1. case crearportafolio:
  2.  
  3. $sql_portafolio="INSERT INTO portafolios (nombreportafolio) values('".$_POST["nombreportafolio"]."')";
  4. $resultado_portafolio=mysql_query($sql_portafolio,$link) or die ("problemas al insertar portafolio".mysql_error());
  5.  
  6. $id = mysql_insert_id($link);
  7. $sqlx="INSERT INTO portafoliodisenador (iddisenador,idportafolio) values('".$_POST["iddisenador"]."','".$id."')";
  8. $resultx=mysql_query($sqlx,$link) or die ("consulta3: ".mysql_error());
  9.  
  10. header("Location: index.php?v=crearportafolio");
  11. break;


la estructura de mis tablas


Código MySQL:
Ver original
  1. [B]portafoliodisenador [/B]
  2. iddisenador     idportafolio PRIMARY BTREE unico
  3. 0                    13
  4. 0                     1
  5. 0                     3
  6.  
  7. [B]portafolios [/B]
  8. [B]pk [/B]
  9. idportafolio    nombreportafolio
  10. 1                       portafolio 1
  11. 2                       portafolio 2
  12. 3                       portafolio 3
  13.  
  14.  
  15.  
  16. [B]disenador [/B]
  17.  
  18. iddisenador pk
  19. nombre
  20. apellido

etc etc ...
lo que intento lograr es crear desde el formulario crearportafolio.php insertar los datos a la tabla portafolios y ademas insertar esos dos id (iddisenador e idportafolio) en la tabla portafoliodisenador , lo e intentado con el codigo que expongo pero solamente me ingresar el valor del idportafolio y el iddisenador me lo deja en 0 , espero puedan ayudarme .

Saludos
  #2 (permalink)  
Antiguo 26/06/2011, 23:48
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: problemas con mysql_insert_id

mysql_insert_id parece que esta funcionando bien, por que segun tus tablas si se almacena en la bd.

De donde estas sacando ($_POST["iddisenador"]),
me supongo que el codigo donde insertas en la base de datos no lo mostraste completo,
por eso no se de donde sacas esa variable.

Que te parece si pones todo el codigo y lo checamos.

A simple vista pareceria que la variable $_POST["iddisenador"] deberia de ser enviada
por medio del formulario que tienes arriba, entonces eso es un problema, no estas enviando nada.

Última edición por blakmetall; 26/06/2011 a las 23:58
  #3 (permalink)  
Antiguo 27/06/2011, 08:00
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: problemas con mysql_insert_id

Tal cual. No estas tomando el dato $_POST["iddisenador"] de ningun lugar, porque tu formulario no lo contempla.

Otra cosa: quizás te convenga usar transacciones a la hora de insertar los datos...
  #4 (permalink)  
Antiguo 27/06/2011, 18:28
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con mysql_insert_id

Muchas gracias muy amables al responder a mi pregunta , pero ya e logrado resolver mi problema efectivamente $_POST["iddisenador"] no lo estaba llamando de ninguna parte , asi que lo resolvi de la siguiente manera en el archivo index.php tenia declarado $_SESSION['numero_usuario']; y $numero_usuario=$row["iddisenador"]; entonces lo modifique de la siguiente forma :

Código PHP:
Ver original
  1. $id = mysql_insert_id($link);
  2. $sqlx="INSERT INTO portafoliodisenador (iddisenador,idportafolio) values('".$_SESSION["numero_usuario"]."','".$id."')";
  3. $resultx=mysql_query($sqlx,$link) or die ("consulta3: ".mysql_error());


Saludos

mayid lo de las transacciones lo tendre muy en cuenta .

Etiquetas: Ninguno
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:21.