Insertar campo de ID generado a partir del activador, pero no pasado

En MySQL, tengo un disparador:

BEGIN
   IF (EXISTS(SELECT * FROM devices WHERE device_id = NEW.device_id)) THEN
    SET NEW.id = NULL;
   ELSE
INSERT INTO objects (object_type) VALUES ('3');
SET NEW.id = LAST_INSERT_ID();
   END IF;
END

Cuando este activador obtiene una nueva identificación (de la tabla de objetos) inserta la identificación en la columna de identificación de la tabla de dispositivos.

Cuando me refiero a él (por ejemplo conmysql_insert_id(); en PHP), está vacío.

¿Cómo puedo devolver la identificación de inserción desde el disparador (LAST_INSERT_ID();) a la función en PHP como elmysql_insert_id(); ?

Respuestas a la pregunta(2)

Su respuesta a la pregunta