PHP: Транзакция в PDO

Одной из важных особенностей PDO является поддержка транзакций, позволяющих группировать несколько операций с базой данных в единый блок, который можно откатить в случае ошибки, обеспечивая таким образом целостность данных.

Основные шаги работы с транзакциями в PDO:

  • 1. Начало транзакции: Используйте метод beginTransaction() для начала транзакции.

  • 2. Выполнение операций с базой данных: Выполните необходимые запросы к базе данных. Если происходит ошибка, можно откатить транзакцию.

  • 3. Фиксация транзакции: Если все операции выполнены успешно, используйте метод commit() для применения всех изменений, сделанных в рамках транзакции.

  • 4. Откат транзакции: Если в процессе выполнения операций возникли ошибки, используйте метод rollBack() для отмены всех изменений, сделанных в рамках транзакции.

Пример использования транзакций в PDO:

try {	
	$pdo = new PDO('mysql:host=exampleHost;dbname=exampleDB', 'username', 'password');
	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

	// Начало транзакции
	$pdo->beginTransaction();

	// Выполнение запросов
	$pdo->exec("INSERT INTO table1 (column) VALUES ('value')");
	$pdo->exec("UPDATE table2 SET column='newValue' WHERE id=1");

	// Фиксация транзакции
	$pdo->commit();
} 
catch( Exception $e ) 
{
	// В случае ошибки - откат транзакции
	$pdo->rollBack();
	echo "Ошибка: " . $e->getMessage();
}
2.9 г. Просмотров: 1.5k
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram