Salve a tutti;
ho implementato una funzione pdo che dovrebbe fare un semplice rollback nel caso una delle query non vada a buon fine, se però provo a simulare un errore su una query (provo a farlo scrivere su una tabella che non esiste), ecco che il database non viene portato allo stato precedente.
La funzione di rollback che ho scritto:
La prima query viene fatta, la seconda ovviamente no. Io invece mi aspetto che generandosi un errore nella seconda, il db venga ripristinato allo stato precedente alla prima query.codice:try { global $db; $db->beginTransaction(); $exec1 = $db->exec("INSERT INTO `tabella_esistente` (id_utente) VALUES (2)"); $exec2 = $db->exec("INSERT INTO `tabella_non_esistente` (id_utente) VALUES (2)"); $db->commit(); } catch (PDOException $ex) { $db->rollBack(); }
Grazie anticipatamente

Rispondi quotando