mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0, PHP 7)

mysqli::begin_transaction -- mysqli_begin_transactionInicia una transacción

Descripción

Estilo orientado a objetos (método):

public mysqli::begin_transaction ([ int $flags [, string $name ]] ) : bool

Estilo por procedimientos:

mysqli_begin_transaction ( mysqli $link [, int $flags [, string $name ]] ) : bool

Comienza una transacción. Requiere MySQL 5.6 y superior, y el motor InnoDB (está habilitado por defecto). Para detalles adicionales sobre cómo funcionan las transacciones de MySQL, véase » http://dev.mysql.com/doc/mysql/en/commit.html.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

flags

Banderas. Las válidas son:

  • MYSQLI_TRANS_START_READ_ONLY: Inicia la transacción como "START TRANSACTION READ ONLY".

  • MYSQLI_TRANS_START_READ_WRITE: Inicia la transacción como "START TRANSACTION READ WRITE".

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: Inicia la transacción como "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Nombre del punto de prevención de la transacción.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de $mysqli->begin_transaction()

Estilo orientado a objetos

<?php
$mysqli 
= new mysqli("127.0.0.1""mi_usuario""mi_contraseña""sakila");

if (
$mysqli->connect_errno) {
    
printf("Conexión fallida: %s\n"$mysqli->connect_error);
    exit();
}

$mysqli->begin_transaction(MYSQLI_TRANS_START_READ_ONLY);

$mysqli->query("SELECT first_name, last_name FROM actor");
$mysqli->commit();

$mysqli->close();
?>

Estilo por procedimientos

<?php
$enlace 
mysqli_connect("127.0.0.1""mi_usuario""mi_contraseña""sakila");

if (
mysqli_connect_errno()) {
    
printf("Conexión fallida: %s\n"mysqli_connect_error());
    exit();
}

mysqli_begin_transaction($enlaceMYSQLI_TRANS_START_READ_ONLY);

mysqli_query($enlace"SELECT first_name, last_name FROM actor LIMIT 1");
mysqli_commit($enlace);

mysqli_close($enlace);
?>

Ver también