PDO :: comprometer
PDO :: comprometer-se a confirmar uma transação (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explicação
gramática
bool PDO::commit ( void )
Enviar uma transação, a conexão com o banco retorna ao modo de autocommit até a próxima chamada para PDO :: beginTransaction () inicia uma nova transação.
Valor de retorno
retorno bem sucedido TRUE, ou em caso de falha retorna FALSE.Exemplos
Enviar uma base de transacção
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 在全有或全无的基础上插入多行记录(要么全部插入,要么全部不插入) */ $sql = 'INSERT INTO fruit (name, colour, calories) VALUES (?, ?, ?)'; $sth = $dbh->prepare($sql); foreach ($fruits as $fruit) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calories, )); } /* 提交更改 */ $dbh->commit(); /* 现在数据库连接返回到自动提交模式 */ ?>
Enviar uma operação DDL
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* Change the database schema */ $sth = $dbh->exec("DROP TABLE fruit"); /* 更改数据库架构 */ $dbh->commit(); /* 现在数据库连接返回到自动提交模式 */ ?>
Nota: Nem todos os bancos de dados permitem o uso de transação instrução DDL: alguns vão gerar um erro, e alguns (incluindo MySQL) Outros transação serão automaticamente enviados em uma declaração DDL após o primeiro encontro.