Sobes.tech
Junior — Middle

Aprakstiet savu pieredzi ar transakcijas mehānismu izmantošanu projektos.

sobes.tech AI

Atbilde no AI

PHP projektos laikā es galvenokārt izmantoju transakcijas, strādājot ar datu bāzēm, lai nodrošinātu datu integritāti. Piemēram, veicot vairākas saistītas operācijas (piemēram, pasūtījuma pievienošanu un krājumu atjaunināšanu), es šīs darbības ietvēru transakcijā, lai kļūdas gadījumā varētu atcelt visas izmaiņas.

Piemērs ar 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 "Kļūda: " . $e->getMessage();
}

Šī pieeja palīdz izvairīties no daļējiem datu atjauninājumiem un saglabā datu bāzes konsekvenci.