Sobes.tech
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();
}

Αυτή η προσέγγιση βοηθά στην αποφυγή μερικών ενημερώσεων δεδομένων και διατηρεί τη συνοχή της βάσης δεδομένων.