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.