PHP 5.6.0RC3 is available

PDO::commit

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

PDO::commit Consigna una transacción

Descripción

public bool PDO::commit ( void )

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.

Ejemplos

Ejemplo #1 Consignar una transacción básica

<?php
/* Iniciar una transacción, desactivando 'autocommit' */
$gbd->beginTransaction();

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

/* Consignar los cambios */
$gbd->commit();

/* La conexión a la base de datos ahora a vuelto al modo 'autocommit' */
?>

Ejemplo #2 Consignar una transacción DDL

<?php
/* Iniciar una transacción, desactivando 'autocommit' */
$gbd->beginTransaction();

/* Cambiar el esquema de la base de datos */
$gsent $gbd->exec("DROP TABLE fruit");

/* Consignar los cambios */
$gbd->commit();

/* La conexión a la base de datos ahora a vuelto al modo 'autocommit' */
?>

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

add a note add a note

User Contributed Notes 1 note

up
0
Dusan
2 months ago
Note that this will raise the PDOException on error EVEN if the error handling of PDO is set to PDO::ERRMODE_WARNING.
To Top