Erro ao inserir dado do select no BD

Bom dia ! Ao inserir um registro no BD, utilizando um dado de um select ele salva o dado anterior ao selecionado, “ex: Seleciono item cod:2, ele salva item cod:1”, segue abaixo os trechos dos códigos referente a essa etapa do sistema. Se alguém conseguir ajudar, desde já, obrigado!

Dados do formulário:

Selecione uma rotina: <?php foreach ($this->view->rotinas as $id => $rotina) { ?> <?=$rotina['rotina']?> <?php } ?>

Salva a despesa no BD
public function salvar(){

$query = “insert into tb_despesas (id_rotina, ano, mes, dia, valor)
values (:id_rotina, :ano, :mes, :dia, :valor)”;

$stmt = $this->db->prepare($query);

$stmt->bindValue(’:id_rotina’, $this->__get(‘id_rotina’));

$stmt->bindValue(’:ano’, $this->__get(‘ano’));

$stmt->bindValue(’:mes’, $this->__get(‘mes’));

$stmt->bindValue(’:dia’, $this->__get(‘dia’));

$stmt->bindValue(’:valor’, $this->__get(‘valor’));

$stmt->execute();

return $this;
}

//Seleciona as rotinas para mostrar no select
public function getAll(){
$query = “select id, rotina from tb_rotinas”;

$stmt = $this->db->prepare($query);

$stmt->bindValue(’:id’, $this->__get(‘id’));

$stmt->bindValue(’:id_rotina’, $this->__get(‘id_rotina’));

$stmt->bindValue(’:rotina’, $this->__get(‘rotina’));

$stmt->execute();

return $stmt->fetchAll(\PDO::FETCH_ASSOC);
}