Sobes.tech
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.