mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_idObtiene el ID generado en la última consulta

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y sus P+F relacionadas para más información. Alternatives to this function include:

Descripción

mysql_insert_id ([ resource $link_identifier = NULL ] ) : int

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

Parámetros

link_identifier

La conexión MySQL. Si no se especifica el identificador de enlace, se asume el último enlace abierto por mysql_connect(). Si no se encuentra este enlace, se intentará crear un nuevo enlace como si mysql_connect() hubiese sido invocada sin argumentos. Si no se encuentra o establece ninguna conexión, se genera un error de nivel E_WARNING.

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