Junior — Middle
Popište své zkušenosti s používáním transakčních mechanismů v projektech.
sobes.tech AI
Odpověď od AI
V projektech PHP jsem používal transakce především při práci s databázemi, aby byla zajištěna integrita dat. Například při provádění několika souvisejících operací (například vložení objednávky a aktualizace skladových zásob) jsem tyto akce obalil do transakce, aby bylo možné v případě chyby vrátit všechny změny.
Příklad s PDO:
try {
$pdo->beginTransaction();
$pdo->exec("INSERT INTO orders (user_id, total) VALUES (1, 100)");
$pdo->exec("UPDATE products SET stock = stock - 1 WHERE id = 10");
$pdo->commit();
} catch (Exception $e) {
$pdo->rollBack();
echo "Chyba: " . $e->getMessage();
}
Tento přístup pomáhá zabránit částečným aktualizacím dat a zachovává konzistenci databáze.