Valida una transacción

# PDO::commit

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

PDO::commit — Valida una transacción

### Descripción

public function PDO::commit(): bool

Valida una transacción, restableciendo la conexión en modo autocommit hasta que se llame a la función PDO::beginTransaction() para iniciar una nueva transacción.

### Parámetros

Esta función no contiene ningún parámetro.

### Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

### Errores/Excepciones

Se lanzará una excepción PDOException si no hay ninguna transacción activa.

> Nota: Una excepción será emitida incluso si el atributo `PDO::ATTR_ERRMODE` no vale `PDO::ERRMODE_EXCEPTION`.

### Ejemplos

Ejemplo #1 Valida una transacción básica

    <?php
    /* Inicia una transacción, desactivando el autocommit */
    $dbh->beginTransaction();

    /* Insertar múltiples registros en una base de todo-o-nada */
    $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,
        ));
    }

    /* Validar los cambios */
    $dbh->commit();

    /* La conexión a la base de datos está ahora de vuelta en modo autocommit */
    ?>

Ejemplo #2 Confirmando una transacción DDL

    <?php
    /* Inicia una transacción, desactivando el autocommit */
    $dbh->beginTransaction();

    /* Modificación del esquema de la base de datos */
    $sth = $dbh->exec("DROP TABLE fruit");

    /* Validar los cambios */
    $dbh->commit();

    /* La conexión a la base de datos está ahora de vuelta en modo autocommit */
    ?>

> Nota: No todas las bases de datos permiten que las transacciones funcionen sobre declaraciones DDL: algunas generarán errores, mientras que otras (incluyendo MySQL) validarán automáticamente la transacción después de que la primera declaración DDL haya sido encontrada.

### Ver también

- PDO::beginTransaction() - Inicia una transacción
- PDO::rollBack() - Anula una transacción
- Transacciones y autocommit

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open