PHP 7.1.0 Release Candidate 3 Released

mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0, PHP 7)

mysqli::begin_transaction -- mysqli_begin_transactionСтартует транзакцию

Описание

Объектно-ориентированный стиль (method):

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

Процедурный стиль:

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

Стартует транзакцию. Требуется MySQL 5.6 или выше, использующий InnoDB (разрешен по умолчанию). Для дополнительной информации, как работают транзакции в MySQL, читайте » http://dev.mysql.com/doc/mysql/en/commit.html.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

flags

Корректные флаги:

  • MYSQLI_TRANS_START_READ_ONLY: Стартовать транзакцию как "START TRANSACTION READ ONLY".

  • MYSQLI_TRANS_START_READ_WRITE: Стартовать транзакцию как "START TRANSACTION READ WRITE".

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: Стартовать транзакцию как "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Точка сохранения транзакции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример $mysqli->begin_transaction()

Объектно-ориентированный стиль

<?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($linkMYSQLI_TRANS_START_READ_ONLY);

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

mysqli_close($link);
?>

Смотрите также

  • mysqli_autocommit() - Включает или отключает автоматическую фиксацию изменений базы данных
  • mysqli_commit() - Фиксирует текущую транзакцию
  • mysqli_rollback() - Откат текущей транзакции

add a note add a note

User Contributed Notes 1 note

up
0
Luc
11 days ago
For PHP<5.5:

    mysqli_query($db, "START TRANSACTION");
To Top