кодесурса
«PHP

PHP mysqli: функция отката ()

script1adsense2code
script1adsense3code

функция mysqli_rollback / mysqli :: откат

Функция mysqli_rollback / mysqli :: rollback - откатывает текущую транзакцию.

Синтаксис:

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

 bool mysqli :: rollback ([int $ flags [, строка $ name]])

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

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

Параметр:

название Описание Обязательный / Дополнительно
ссылка на сайт Идентификатор ссылки, возвращаемый mysqli_connect () или mysqli_init () Требуется только для процедурного стиля и необязательно для объектно-ориентированного стиля
флаги Битовая маска констант MYSQLI_TRANS_COR_ *. Необязательный
название Если указано, выполняется ROLLBACK / * name * /. Необязательный

Использование: Процедурный стиль

 mysqli_rollback (соединение); 

Параметр:

название Описание Обязательный / Дополнительно
соединение Определяет соединение MySQL для использования необходимые

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

Возвращает TRUE в случае успеха или FALSE в случае неудачи.

Версия: PHP 5, PHP 7

Пример объектно-ориентированного стиля:

<?php
$mysqli = new mysqli("localhost", "user1", "datasoft123", "hr");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
/* disable autocommit */
$mysqli->autocommit(FALSE);
$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");
/* commit insert */
$mysqli->commit();
/* delete all rows */
$mysqli->query("DELETE FROM myCity");
if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    $result->close();
}
/* Rollback */
$mysqli->rollback();
if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    $result->close();
}
/* Drop table myCity */
$mysqli->query("DROP TABLE myCity");
$mysqli->close();
?>

Пример процедурного стиля:

<?php
$link = mysqli_connect("localhost", "user1", "datasoft123", "hr");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
/* disable autocommit */
mysqli_autocommit($link, FALSE);
mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");
/* commit insert */
mysqli_commit($link);
/* delete all rows */
mysqli_query($link, "DELETE FROM myCity");
if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}
/* Rollback */
mysqli_rollback($link);
if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}
/* Drop table myCity */
mysqli_query($link, "DROP TABLE myCity");
mysqli_close($link);
?>

Выход:

 0 строк в таблице myCity.
50 строк в таблице myCity (после отката).

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

Справочник по функциям PHP

Предыдущая: release_savepoint
Далее: select_db

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code