Hay una forma, pero es algo complicada de escribir, por lo que para que se entienda será mejor hacerlo así:
Código PHP:
Ver original$sql = "UPDATE ".$_POST["categoria"]." ";
$sql .= "SET ";
$sql .= " titulo=IF('$titulo'!='','$titulo', titulo) ";
$sql .= " precio=IF('$foto1'!='','$foto1', foto1) ";
$sql .= " bmxomtb=IF('$bmxomtb'!='','$bmxomtb', bmxomtb) ";
$sql .= " peso=IF('$peso'!='','$peso', peso) ";
$sql .= " foto2=IF('$foto2'!='','$foto2', foto2) ";
$sql .= " foto3=IF('$foto3'!='','$foto3', foto3) ";
$sql .= " foto4=IF('$foto4'!='','$foto4', foto4) ";
$sql .= " foto5=IF('$foto5'!='','$foto5', foto5) ";
$sql .= " descrip=IF('$descrip'!='','$descrip', descrip) ";
$sql .= " descripcion=IF('$descripcion'!='','$descripcion', descripcion)";
$sql .= "WHERE id_producto=$id";
En esencia lo que hace esa consulta es verificar si el dato entrante es un vacío (''), si no está vacío, actualiza el campo con ese dato, y sino vuelve a poner el mismo dato en su propio campo.
Lo único que tienes esto es que es largo de escribir