Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fezinha

PHP com conexão no PostgreSQL

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.