Olá a todos, será que alguém saberia informar como poderia fazer um
tratamento dos erros gerados pelo banco de dados no CI, por exemplo:
Quando tentamos inserir um registro com uma chave duplicada, o banco de
dados (no meu caso MySQL) retorna um erro e o CI captura esse erro
retornando uma mensagem formatada. O mesmo ocorre quando usamos integridade
referencial, ao tentar remover um registro marcado como restrict em seu
relacionamento, o banco de dados retorna um erro e o CI captura o erro e
exibe a mensagem pra gente.
Existe alguma forma de capturar tal erro gerado pelo banco de dados, com o
objetivo de manipula-lo, para posterior exibição da informação ao usuario?
ou seja, algo como: se ao tentar cadastrar um registro com a chave primária
já existente exibir ao usuario que a chave já está cadastrada.
Na tentativa de solucionar o problema, fiz algo do tipo no meu MODEL:
function excluir ($codigo){
$this->db->where('codigo_mar', $codigo);
$this->db->delete('marca_equipamento');
return $this->db->_error_number();
}
e desativei a mensagem padrão do CI, mudando $db['default']['db_debug']
para FALSE:
$db['default']['db_debug'] = FALSE;
no meu controlador eu avalio o código do erro retornado:
-se o erro retornado é 0(zero), tudo ocorreu bem.
-senão verifico o código do erro e exibo a mensagem para cada erro
específico.
$retorno = $this->marca_equipamento_model->excluir($codigo);
if ( $retorno == '0'){
echo "OK!";
}else{
echo "erro " . $retorno;
}
Não sei se esse é o melhor método, gostaria da opinião do pessoal sobre a
melhor forma de tratar esse problema.
Agradeço desde já
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br