Codeigniter $this->db->trans_begin(); wenn kein commit oder ein Rollback ausgeführt und die Seite wird aktualisiert, es sperrt die db

Ich habe eine Seite, wo $this->db->trans_begin(); verwendet wird und einige Einschübe gemacht sind. Dann modal geöffnet, und bittet Benutzer, um zu bestätigen, und wenn der Benutzer es bestätigt Sie verpflichtet die Transaktion sonst rollt. Aber wenn das modal öffnet, bevor ein commit oder ein Rollback passiert, ich aktualisieren den browser. Auf die gleiche Sache, die 3 bis 4 mal der browser hängt als Tabellen gesperrt...

Jemand weiß, wie man im Fall, dass die Transaktion geöffnet ist in codeigniter und die Seite wird aktualisiert, ich kann es schließen, bevor eine neue?

  • Wie bekommt man eine user-Reaktion auf eine offene Transaktion in PHP? Wenn Ihr Skript-Ausführung beendet, Ihre offenen mysql-verbindungen, die geschlossen werden sollen, und öffnen Sie Transaktionen abgebrochen werden sollte für Sie automatisch. Was für ein Tisch-engine benutzen Sie für Ihre Tabellen. Typisch sind MyISAM und InnoDB. Welche Verbindungsart Sie verwenden, persistent/non-persistent? Meine erste Vermutung ist, dass Sie eine dauerhafte Verbindung. Verwenden Sie einen nicht-persistenten oder nur Abbrechen, Ihre ausstehenden Transaktionen, bevor das script endet.
  • Siehe codeigniter.com/user_guide/database/configuration.html Ändern der config den Wert für pconnect zu FALSE.
InformationsquelleAutor Abhiraj | 2012-02-27
Schreibe einen Kommentar