PDO::commit confirma uma transação (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool DOP::commit (void)
Confirme uma transação e a conexão com o banco de dados retornará ao modo de confirmação automática até a próxima chamada a PDO::beginTransaction() para iniciar uma nova transação.
<?php/* Iniciar uma transação e desativar o commit automático */$dbh->beginTransaction();/* Inserir múltiplas linhas de registros em uma base de tudo ou nada (tudo ou nada) */$ sql = 'INSERT INTO fruta (nome, cor, calorias) VALORES (?, ?, ?)';$sth = $dbh->prepare($sql);foreach ($frutas as $fruta) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calories, ));}/* Confirmar alterações*/$dbh->commit();/* Agora conecte-se a banco de dados Retornar ao modo de confirmação automática*/?>
<?php/* Inicia uma transação e desativa o envio automático */$dbh->beginTransaction();/* Altera o esquema do banco de dados */$sth = $dbh->exec("DROP TABLE fruta");/* Altera o esquema do banco de dados*/$dbh->commit();/* Agora a conexão com o banco de dados retorna ao modo de confirmação automática*/?>
Nota: Nem todos os bancos de dados permitem operações de transação usando instruções DDL: alguns gerarão erros, enquanto outros (incluindo MySQL) confirmarão transações automaticamente após encontrarem a primeira instrução DDL.