PDO::commit

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::commit Consigna una transacción

Descripción

publicPDO::commit(): bool

Consigna una transacción, devolviendo la conexión a la base de datos al modo 'autocommit' hasta que la siguiente llamada a PDO::beginTransaction() inicie una nueva transacción.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Errores/Excepciones

Lanza una PDOException si no hay ninguna transacción activa.

Nota: Se emite una excepción inclusi cuando el atributo PDO::ATTR_ERRMODE no es PDO::ERRMODE_EXCEPTION.

Ejemplos

Ejemplo #1 Consignar una transacción básica

<?php

$gbd->beginTransaction();


$sql = 'INSERT INTO fruit
(name, colour, calories)
VALUES (?, ?, ?)'
;

$gsent = $gbd->prepare($sql);

foreach (
$frutas as $fruta) {
$gsent->execute(array(
$fruta->name,
$fruta->colour,
$fruta->calories,
));
}


$gbd->commit();


?>

Ejemplo #2 Consignar una transacción DDL

<?php

$gbd->beginTransaction();


$gsent = $gbd->exec("DROP TABLE fruit");


$gbd->commit();


?>

Nota: No todas las bases de datos permitirán que las transacciones operen sobre sentencias DDL: algunas generarán errores, mientras que otras (incluida MySQL) automáticamente consignarán la transacción después de encontrar la primera sentencia DDL.

Ver también

To Top