Ir para conteúdo

POWERED BY:

Arquivado

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

horácio

transação com erro

Recommended Posts

bom dia a todos!!!

pessoal, é o seguinte,

vejam só esse código:



$Sucesso=FALSE;	
mysql_query("SET ISOLATION LEVEL SERIALIZABLE"); 
mysql_query("START TRANSACTION");  

 if(
$tab = mysql_query("SELECT * FROM tabela2 WHERE ( {$concreto} ) AND capture ='0' AND email NOT in('email@inválido') AND  telefone <> '' AND telefone NOT LIKE '0000' AND solicitado = '0' AND time_to_sec(timediff(now(),block))> $tempo2 AND data between '$dataRecebidaDoOperador' AND '$dataRecebidaDoOperador2'  AND origem not in('', 'pergunta')  AND boleto_enviado <>'1' AND situacao NOT IN ('3','4','6','7','8','5') limit 1")
   	)
       { 
         $linhas = mysql_num_rows($tab);
         $dados = mysql_fetch_assoc( $tab );
         $codigoCli= $dados[codigo];
         if(mysql_query("UPDATE tabela1 SET capture=87 WHERE codigo=$codigoCli")) 
               { $Sucesso = TRUE; }
			else
			{ $Sucesso = FALSE; }

	}

   if($sucesso=="TRUE")
mysql_query("COMMIT");
else
mysql_query("ROLLBACK");

if($Sucesso=="TRUE")
echo"<br>deu certo $codigoCli ";
else
echo"deu erro";

 

Dessa forma, ele seleciona, exibe a alteração na tabela1 mas não executa...se for lá na tabela 1 e olhar, não tá marcado o 87 no capture...se eu removo as tags

"

mysql_query("SET ISOLATION LEVEL SERIALIZABLE");

mysql_query("START TRANSACTION");

"

ele funciona....

mas eu preciso disso para travar o registro e evitar que outra pessoa pegue esse registro...onde tá o erro???

como resolvo??

obrigado, pessoal!!!

Horácio

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.