Ir para conteúdo
Fórum Script Brasil
  • 0

MySqli statement com transação


tatianaSP

Pergunta

Boa tarde,

estou querendo criar um stmt com transação em MySqli. Encontrei tudo sobre um e outro, mas não os dois junto.

Gostaria que no meio de um stmt se der erro, execute um rollback. Alguém sabe como fazer?

Segue os códigos de cada:

Statement

$insert_stmt=$mysqli->prepare("INSERT INTO x VALUES(?,?)") or die($mysqli->error);
$insert_stmt->bind_param("is", $my_number,$my_string); //i=integer
for ($my_number = 1; $my_number <= 10; $my_number++) {
    $my_string="row ".$my_number;
    $insert_stmt->execute( ) or die ($insert_stmt->error);
//gostaria que se desse erro aqui fizesse o rollback!!!
}
$insert_stmt->close( );
Transação
$mysqli->autocommit(FALSE);
$mysqli->query("UPDATE account_balance SET balance=balance-$tfer_amount WHERE account_id=$from_account");
if ($mysqli->errno) {
    printf("transaction aborted: %s\n",$mysqli->error);
    $mysqli->rollback( );
}
else {
    $mysqli->query("UPDATE account_balance SET balance=balance+$tfer_amount WHERE account_id=$to_account");
    if ($mysqli->errno) {
        printf("transaction aborted: %s\n",$mysqli->error);
        $mysqli->rollback( );
    }
    else {
        printf("transaction succeeded\n");
        $mysqli->commit( );
    }
}

Será que é possível? alguém ajuda? Obrigada!!!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...