Y claro que te guarda 1, si $ruta lo igualaste a la funcion move_uploaded_file, la cual te retorna 1 ( true ) justamente si se mueve con éxito :
: tendrías que guardar $dir concatenandole el nombre de la imagen en vez de $ruta en tu insert into, creo que fui claro.