Copyright 1997-2018 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 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
ormysqli_init
-
flags
Valid flags are:
MYSQLI_TRANS_START_READ_ONLY
: Start the transaction as "START TRANSACTION READ ONLY". Requires MySQL 5.6 and above.MYSQLI_TRANS_START_READ_WRITE
: Start the transaction as "START TRANSACTION READ WRITE". Requires MySQL 5.6 and above.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
|