PDO::beginTransaction

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::beginTransaction — Ініціалізація транзакції

Опис

public PDO::beginTransaction(): bool

Вимикає режим автоматичної фіксації транзакції. У той час як режим автоматичної фіксації вимкнений, зміни, внесені до бази даних через об'єкт екземпляра PDO, не застосовуються, поки ви не завершите транзакцію, викликавши PDO::commit(). Виклик PDO::rollBack() відкотити всі зміни в базі даних та поверне з'єднання до режиму автоматичної фіксації.

Деякі бази даних, включаючи MySQL, автоматично виконують неявну фіксацію, коли вирази мови опису даних (DDL), такі як DROP TABLE або CREATE TABLE, перебувають усередині транзакції. Неявна фіксація запобігає вам відкоту будь-яких змін, зроблених у цій транзакції.

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

Ця функція не має параметрів.

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

Помилки

Викидає PDOExceptionякщо транзакція вже стартувала, або якщо драйвер не підтримує транзакції.

Зауваження: Виняток буде викликано, навіть якщо атрибут PDO::ATTR_ERRMODE не виставлений у PDO::ERRMODE_EXCEPTION

Приклади

Приклад #1 Відкат транзакції

Наступний приклад починає транзакцію та виконує два вирази, що змінює базу даних до відкату змін. У MySQL, проте, вираз DROP TABLE автоматично фіксує транзакцію так, що жодна зі змін транзакції не відкочується.

Loading...

Дивіться також