Nun, im Grunde genommen habe ich dieses Skript, das eine lange Zeit benötigt, um ausgeführt zu werden, und manchmal zeitweise aus und lässt halbkomplette Daten um meine Datenbank herum fließen. (Ja, ich weiß in einer perfekten Welt würde ich fix, dass anstelle von Commits und Rollbacks Umsetzung aber ich gezwungen bin, das nicht zu tun)Wie kann ich Commit/Rollback für MySQL in PHP implementieren?
Hier ist mein Grundcode (verdummt der Einfachheit halber):
$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;
Also mein Problem ist, dass, wenn das, wenn der gesamte Prozess innerhalb dieser While-Schleife nicht abgeschlossen ist, ich möchte nicht, dass die Zeile eingefügt bleibt dort. Ich denke, dass ich irgendwie Commits/Rollbacks am Anfang und am Ende der while-Schleife verwenden könnte, um das zu tun, aber ich weiß nicht wie.
Dank habe ich es noch nicht ausprobiert, aber ich denke, das ist genau das, was ich suche –