A ver, no, estas confundiendo, una cosa es $_POST y otra $_FILES, no puedes acceder a un objeto de un tipo desde el otro...
Código PHP:
Ver original//MAL!!!
if(isset($_POST['logo']) and
!empty($_POST['logo']) and
isset($_POST['tienda']) and
!empty($_POST['tienda']) and
isset ($_FILES['logo']['name'])) {
}
//bien!,
if(isset($_POST['tienda']) && !empty($_POST['tienda']) && isset ($_FILES['logo']['name'])) {
}
//MAL
mysql_query ("UPDATE diseny SET logo='".$_POST['logo']."',tienda='".$_POST['tienda']."' WHERE tienda = ".$tienda) or
die( mysql_error() ) )
//bien
mysql_query ("UPDATE diseny SET logo='".$_FILES['logo']['name']."',tienda='".$_POST['tienda']."' WHERE tienda = ".$tienda) or
die( mysql_error() ) )
Has todos los cambios pertinentes y prueba de nuevo...
Actualización: Esta mal como estas usando WHERE en tu sentencia SQL, al ser string $tienda
DEBES cerrarla entre comillas, únicamente los números (int) van sin comillas en una sentencia SQL...