paulocf 0 Denunciar post Postado Maio 16, 2005 Pessoal, boa tarde Estou com uma pequena dúvida quanto a uma questão, que para vocês deve ser banal. Tenho um form que realiza uma sequencia de inserts em várias tabelas ao mesmo tempo, mas se falhar em alguma delas deve-se efetuar rollback e abortar o restante do processamento. Só que do jeito que fiz não está abortando o resto do processamento e, mesmo um insert dando errado, os demais abaixo dele são executados. Abaixo segue um exemplo do que estou falando: PHP [*] [*]<? [*]$User = "paulo"; [*]$Passwd = "cesar"; [*]$banco="teste"; [*]$Conn = OCILogon($User,$Passwd,$banco); [*]if (!$Conn) [*] { $e = oci_error(); [*] $Text_Erro = $e['message']; [*] } [*] [*]function BuscaDados($Query,$Conexao) { [*] $Ok = OCIParse($Conexao, $Query); [*] OCIExecute($Ok, OCI_DEFAULT); [*] if (!$Ok) [*] { $error = oci_error($Conexao); [*] $erro = $error['message']; [*] OCIRollback($Conexao); [*] echo '<p>Erro de execução: '.$erro; [*] } [*]} [*] [*]?> [*]<html> [*]<head> [*]<title>Teste de PHP</title> [*]<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> [*]<? [*]$proxcod = '1'; [*]if($proxcod != "") [*] { [*] $query = "INSERT INTO documento(nro_solicitacao,cod_documento) VALUES ('$proxcod','2')"; [*] BuscaDados($query,$Conn); [*] echo "<P>Deu Certo!!!"; [*] } [*] [*]?> [*] [*]</head> [*]<body> [*]</body> [*]</html> [*] [*] Neste exemplo, a frase "Deu Certo!!!" está sendo apresentada mesmo quando falha o SELECT e apresenta "Erro de execução" na função. Como faço para tratar esse problema? Agradeço desde já a atenção. Paulo Cesar :( Compartilhar este post Link para o post Compartilhar em outros sites
Daniel_Ribeiro 1 Denunciar post Postado Maio 16, 2005 Coloque a função para ele abortar (logo depois de apresentar o erro) PHP [*] [*]echo '<p>Erro de execução: '.$erro; [*]exit(); [*] Compartilhar este post Link para o post Compartilhar em outros sites
paulocf 0 Denunciar post Postado Maio 16, 2005 Valeu cara, muito obrigado pela dica. Paulo César http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites