Comment puis-je mettre en œuvre commit/rollback pour MySQL en PHP?

Eh bien en fait j'ai ce script qui prend du temps pour s'exécuter et, occasionnellement, des temps et des feuilles semi-complète de données flottant autour de ma base de données. (Oui, je sais que dans un monde parfait, je voudrais corriger ce QUE, au lieu de la mise en œuvre de validations et les restaurations, mais je suis contraint de ne pas le faire)

Voici mon code de base (abrutir pour des raisons de simplicité):

$database = new PDO("mysql:host=host;dbname=mysql_db","username","password");

while (notDone())
{
    $add_row = $database->prepare("INSERT INTO table (columns) VALUES (?)");
    $add_row->execute(array('values'));

    //PROCESSING STUFF THAT TAKES A LONG TIME GOES HERE
}

$database = null;

Donc mon problème est que si que si l'ensemble du processus à l'intérieur de cette boucle while n'est pas complète, alors je ne veux pas la ligne insérée à y rester. Je pense que d'une certaine façon, je pouvais utiliser les commits/restaurations au début et à la fin de la boucle while pour ce faire, mais ne savent pas comment.

OriginalL'auteur Andrew G. Johnson | 2008-11-30