Funciones de MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_idObtiene el ID generado en la última consulta

Advertencia

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:

Descripción

int mysql_insert_id ([ resource $link_identifier = NULL ] )

Recupera el ID generado por la consulta anterior (normalmente INSERT) para una columna AUTO_INCREMENT.

Parámetros

link_identifier

La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.

Valores devueltos

El ID generado por la consulta anterior para una columna AUTO_INCREMENT en caso de éxito, 0 si la consulta anterior no genera un valor AUTO_INCREMENT, o FALSE si no se estableció una conexión MySQL.

Ejemplos

Ejemplo #1 Ejemplo de mysql_insert_id()

<?php
$enlace 
mysql_connect('localhost''usuario_mysql''contraseña_mysql');
if (!
$enlace) {
    die(
'No se pudo conectar: ' mysql_error());
}
mysql_select_db('mibd');

mysql_query("INSERT INTO mitabla (producto) values ('kossu')");
printf("El último registro insertado tiene el id %d\n"mysql_insert_id());
?>

Notas

Precaución

mysql_insert_id() convertirá el tipo devuelto de la función nativa mysql_insert_id() de la API de C de MySQL a un tipo long (llamado int en PHP). Si la columna AUTO_INCREMENT tiene un tipo BIGINT (64 bits) la conversión puede resultar en un valor incorrecto. En su lugar, use la función de SQL interna LAST_INSERT_ID() de MySQL en una consulta SQL. Para más información sobre los valores máximos de tipo integer, por favor vea la documentación de integer.

Nota:

Como mysql_insert_id() actúa en la última consulta realizada, asegúrese de llamar a mysql_insert_id() inmediatamente después de la consulta que genera el valor.

Nota:

El valor de la función de SQL LAST_INSERT_ID() de MySQL siempre contiene el valor AUTO_INCREMENT generado más recientientemente, y no se restablece entre consultas.

Ver también


Funciones de MySQL
PHP Manual