Ciao a tutti... volevo se possibile chiarirmi le idee sull'uso di commit/rollback con php.

Se non ho capito male.

SCOPO: serve per fare magari una serie di insert/update/delete... che devono essere fatti tutti assieme... insomma per evitare che magari ne fa metà e poi va in errore.. e ti ritrovi le tabelle con dati non corretti.

USO:
- si parte con start transaction o begin? cambia qualcosa?
- il commit e il rollback praticamente devo farglieli fare io, controllando con un if se le query sono state tutte eseguite?
- nel caso di rollback, è possibile capire dove è stato generato l'errore?

codice:
<?php
$START_TRANSACTION = "START TRANSACTION";
$COMMIT = "COMMIT";
$ROLLBACK = "ROLLBACK";

//inizio le operazioni atomiche
$mysqli->query($START_TRANSACTION);

$queryresult5 = $mysqli->query("query5");
$queryresult6 = $mysqli->query("query6");
$queryresult7 = $mysqli->query("query7");

//finisco le operazioni atomiche
if ($queryresult5 && $queryresult6 && $queryresult7) {
$mysqli->query($COMMIT);
echo "Ok fatto tutto";
}
else {
$mysqli->query($ROLLBACK);
echo "Errore";
}