Foros del Web » Programando para Internet » PHP »

Funcion last_insert_id()

Estas en el tema de Funcion last_insert_id() en el foro de PHP en Foros del Web. Hola, que tal? No entiendo bien como es que funciona la funcion last_insert_id() Necesito insertar un registro en una tabla y otro registro en otra ...
  #1 (permalink)  
Antiguo 16/09/2011, 14:15
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Funcion last_insert_id()

Hola, que tal?

No entiendo bien como es que funciona la funcion last_insert_id()

Necesito insertar un registro en una tabla y otro registro en otra tabla pero con el id de la primera tabla.

Mi codigo:
Código PHP:
$sql="INSERT INTO clientes (cliente_id, nombre, apellido)
VALUES
('','$_POST[nombre]','$_POST[apellido]')"
;

if (!
mysql_query($sql,$con))
  {
  die(
'Error: ' mysql_error());
  }
$sql1="INSERT INTO opciones (opcion_id, cliente_id, opcion1, opcion2)
VALUES
('','','$_POST[opcion1]','$_POST[opcion2]')"
;

if (!
mysql_query($sql1,$con))
  {
  die(
'Error: ' mysql_error());
  } 
En el campo cliente_id de la tabla opciones debe de ir el cliente_id del cliente que aca de registrarse.

Como hago eso posible?

Gracias!
  #2 (permalink)  
Antiguo 16/09/2011, 14:53
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Funcion last_insert_id()

En un principio podrías relacionar las tablas. Esto quiere decir que si intentas añadir algo en "cliente_id" de la tabla opciones y no existe el mismo en "cliente_id" de la tabla clientes no te dejaría hacerlo, o sea, que la misma BD comprueba que los datos que vas a introducir son veráz.

Por lo que veo usas MySQL, te pongo el ejemplo que pone el manual (http://es2.php.net/manual/es/function.mysql-insert-id.php):

Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
  3. if (!$link) {
  4.     die('Could not connect: ' . mysql_error());
  5. }
  6.  
  7. mysql_query("INSERT INTO mytable (product) values ('kossu')");
  8. printf("Last inserted record has id %d\n", mysql_insert_id());
  9. ?>

Etiquetas: funcion, mysql, registro, sql, tabla
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 22:32.