Junior — Middle
Περιγράψτε την εμπειρία σας στη χρήση μηχανισμών συναλλαγών σε έργα.
sobes.tech AI
Απάντηση από AI
Στα έργα PHP, χρησιμοποίησα κυρίως συναλλαγές κατά την εργασία με βάσεις δεδομένων για να διασφαλίσω την ακεραιότητα των δεδομένων. Για παράδειγμα, κατά την εκτέλεση πολλαπλών σχετικών ενεργειών (όπως η προσθήκη παραγγελίας και η ενημέρωση αποθεμάτων), τις περικλείω σε μια συναλλαγή ώστε να αναιρεθούν όλες οι αλλαγές σε περίπτωση σφάλματος.
Παράδειγμα με 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 "Σφάλμα: " . $e->getMessage();
}
Αυτή η προσέγγιση βοηθά στην αποφυγή μερικών ενημερώσεων δεδομένων και διατηρεί τη συνοχή της βάσης δεδομένων.