Ciao,
ho capito qual è il problema
Se non faccio processare la prima select, la transaction funziona! Anche il rollBack funziona bene!codice:/* se commento qui la transaction funziona $sql = 'query di select ... '; $result = $dbh->prepare($sql); $result->execute(); while( $row = $result->fetch(PDO::FETCH_ASSOC) ) { $test[] = $row; } var_dump($test); echo '<br><br><br>'; */ //$dbh->setAttribute(PDO::ATTR_AUTOCOMMIT, FALSE); try { $dbh->beginTransaction(); $sql1 = "query di insert ... "; $sql2 = "query di update ... "; $dbh->exec($sql1); $dbh->exec($sql2); $dbh->commit(); } catch (PDOException $exception) { $dbh->rollBack(); echo $exception->getMessage(); }
Forse uso il metodo sbagliato per fare la SELECT ? ... in fondo la select non ha bisogno della transaction o sbaglio?
Magari bisogna disattivare l'AUTOCOMIMIT dopo la select? se sì in che modo?
Oppure devo inserire la Select nel try/catch?
grazie.

Rispondi quotando
