Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/03/2014, 03:03
chalobcn
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 4
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Problema para averiguar el valor del indice autoincremental

Sigo investigando el tema y, de momento, he conseguido esto:
Código:
<?php

// Establecer conexión
include("conexion.php");

// Recogida de datos
$n_nombre = $_POST['nombre'];
$n_descripcion = $_POST['descripcion'];
$n_precio = $_POST['precio'];
$n_familia = $_POST['familia'];

// Sentencia para la inserción de datos en la tabla
$ssql = "INSERT INTO articulos (nombre,descripcion,precio,familia) VALUES ('$n_nombre','$n_descripcion','$n_precio','$n_familia')";

// Ejecutamos la sentencia SQL
mysql_query($ssql,$descriptor);

// Obtenemos el id del último registro añadido
$ultimo_codigo = mysql_insert_id($descriptor);

// Damos nuevo nombre a la imagen añadiendo la extensión
$n_imagen = $ultimo_codigo.".jpg";

// Copiamos la imagen en la carpeta correspondiente
$ruta_origen = $_FILES['imagen']['tmp_name'];
$ruta_destino = "imagenes/".$n_imagen;
COPY($ruta_origen,$ruta_destino);

// Sentencia para la inserción de la imagen en la tabla
$ssql = "UPDATE articulos SET imagen = '$n_imagen' WHERE codigo = '$ultimo_codigo'";

// Ejecutamos la sentencia SQL
mysql_query($ssql,$descriptor);

// Redireccionamos
HEADER("LOCATION:articulos.php");

?>
EL código es operativo al 100%.

Ahora, la imagen seleccionada por el usuario, se renombra automáticamente tomando el nombre del id de registro y, además, se copia automáticamente al directorio por defecto.
De esta forma está todo mucho más ordenado y es muy fácilmente identificable a qué registro corresponde cada imagen.

La nueva pregunta que me surge es esta: En el tiempo transcurrido entre el INSERT y el UPDATE, ¿podría haber conflicto si dos -o más- usuarios ejecutan este código simultáneamente?

Me surge esta duda en función de las distintas velocidades de equipos, conexión, etc.

Creo que podría darse el caso de que dos usuarios hicieran un alta en el mismo instante y la lectura del último id pudiera cruzarse entre ellos asignándose a cada uno la imagen del otro.

Agradezco toda ayuda.

Muchas gracias!