Documentation Home
MySQL PHP API
Download this Manual
PDF (US Ltr) - 2.8Mb
PDF (A4) - 2.8Mb
EPUB - 456.9Kb
HTML Download (TGZ) - 396.2Kb
HTML Download (Zip) - 410.0Kb


MySQL PHP API  /  ...  /  mysqli::begin_transaction, mysqli_begin_transaction

3.9.3 mysqli::begin_transaction, mysqli_begin_transaction

Copyright 1997-2014 the PHP Documentation Group.

  • mysqli::begin_transaction

    mysqli_begin_transaction

    Starts a transaction

Description

Object oriented style (method):

public bool mysqli::begin_transaction(int flags,
                                      string name);

Procedural style:

bool mysqli_begin_transaction(mysqli link,
                              int flags,
                              string name);

Begins a transaction. Requires MySQL 5.6 and above, and the InnoDB engine (it is enabled by default). For additional details about how MySQL transactions work, see http://dev.mysql.com/doc/mysql/en/commit.html.

Parameters

link

Procedural style only: A link identifier returned by mysqli_connect or mysqli_init

flags

Valid flags are:

  • MYSQLI_TRANS_START_READ_ONLY: Start the transaction as "START TRANSACTION READ ONLY".

  • MYSQLI_TRANS_START_READ_WRITE: Start the transaction as "START TRANSACTION READ WRITE".

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: Start the transaction as "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Savepoint name for the transaction.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example 3.33 $mysqli->begin_transaction example

Object oriented style


<?php
$mysqli = new mysqli("127.0.0.1", "my_user", "my_password", "sakila");

if ($mysqli->connect_errno) {
    printf("Connect failed: %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();
?>

   

Procedural style


<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_begin_transaction($link, MYSQLI_TRANS_START_READ_ONLY);

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

mysqli_close($link);
?>


See Also

mysqli_autocommit
mysqli_commit
mysqli_rollback


User Comments
Sign Up Login You must be logged in to post a comment.