Eso pasa porque estás haciendo dos INSERTs a la bd, por lo tanto por cada archivo que subes se generan dos filas. Podrias arreglarlo con un UPDATE o haciendo todo con la misma consulta INSERT. Puedes borrar esta linea:
Código PHP:
mysql_query("INSERT INTO Mensajes (link) VALUES ('$upload_dir$file_name')");
y donde haces tu consulta
INSERT primera, puedes incluir los datos del archivo
Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "upload")) {
$insertSQL = sprintf("INSERT INTO Mensajes (titulo, lugar, f, m, t, link) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['titulo'], "text"),
GetSQLValueString($_POST['lugar'], "text"),
GetSQLValueString($_POST['f'], "text"),
GetSQLValueString($_POST['m'], "text"),
GetSQLValueString($_POST['t'], "text"),
GetSQLValueString($upload_dir.$file_name, "text"));
mysql_select_db($database_ldp, $ldp);
$Result1 = mysql_query($insertSQL, $ldp) or die(mysql_error());
}
Obviamente, entonces, tendrás que definir las variables %upload_dir y $file_name antes de hacer esa consulta... Lo mejor es que el upload de archivos entero lo hagas antes de insertar los datos a la BD.
Si tienes algún problema, continúa posteando...
Un saludo,