©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.5.0)
mysqli::begin_transaction -- mysqli_begin_transaction — Starts a transaction
面向对象风格 (method):
$flags
[, string $name
]] )过程化风格:
$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.
link
仅以过程化样式:由 mysqli_connect() 或 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.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 $mysqli->begin_transaction() example
面向对象风格
<?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 ();
?>
过程化风格
<?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 );
?>