echo form_hidden("produto_id", $produto["id"]);
"produto_id" => $this->input->post("produto_id"),
echo form_hidden("produto_id", $produto["id"]);
"produto_id" => $this->input->post("produto_id"),
Esse id de produto existe na tabela? A variável no banco realmente chama-se produto_id? Existem diversos motivos para o erro estar acontecendo.