fezinha 0 Denunciar post Postado Janeiro 9, 2008 Pessoal, Preciso muito da ajuda de vocês. Tenho um arquivo chamado: conecta.php para conectar ao banco de dados. $dbconn = pg_connect("host=178.189.1.2 port=5432 dbname=banco user=postgres password=postgres"); Tenho outro arquivo chamado: inserir.php include('conecta.php'); pg_query($dbconn,"begin"); $v_query = "UPDATE ..."; if(!pg_query($dbconn,$v_query)) { pg_query($dbconn,"rollback"); } Esse inserir.php chama outra tela: historico.php include('conecta.php'); $v_query = "INSERT INTO ..."; $v_result = pg_query($dbconn, $v_query); if (!$v_result) { pg_query($dbconn,"rollback"); } pg_query($dbconn,"commit"); O problema é que os dados alterados no arquivo conecta.php não são efetivados no "commit" em historico.php. Isso porque ele conecta novamente no banco de dados. Alguém sabe uma maneira de fazer isso? Fernanda Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Janeiro 9, 2008 Faça isso num só, não sei qual é a sequência correta mas faça algo parecido com isso: @pg_query($dbconn, "START TRANSACTION"); $resultado = pg_query($dbconn, "o seu update"); if(is_bool($resultado) && !$resultado) { @pg_query($this->conexao, "ROLLBACK"); } else { $resultado = pg_query($dbconn, "seu insert"); if(is_bool($resultado) && !$resultado) { @pg_query($this->conexao, "ROLLBACK"); } else { @pg_query($this->conexao, "COMMIT"); } } Compartilhar este post Link para o post Compartilhar em outros sites