Heim >Backend-Entwicklung >PHP-Tutorial >Warum wird mein PHP-MySQLI-Objekt vorzeitig geschlossen, was zu „MySQLI-Objekt ist bereits geschlossen/MySQL-Fehler konnte nicht abgerufen werden' führt?
mysqli::query(): mysqli-Objekt ist bereits geschlossen / MySQL-Fehler konnte nicht abgerufen werden
Der bereitgestellte PHP-Code verwendet eine Klasse (EventCalendar), der Datenbankverbindungen verwaltet und Abfragen ausführt. Die Fehlermeldung deutet jedoch darauf hin, dass das MySQLI-Objekt bereits geschlossen ist oder beim Abrufen des MySQLI-Fehlers ein Fehler aufgetreten ist.
Verstehen des Fehlers
Wenn das MySQLI-Objekt geschlossen ist Bei vorzeitiger Ausführung schlagen nachfolgende Abfragen mit dem Fehler „MySQLI-Objekt ist bereits geschlossen“ fehl. Dies kann auftreten, wenn das DBConnect-Objekt geschlossen wird, bevor alle Abfragen ausgeführt wurden.
Der sekundäre Teil des Fehlers „MySQL-Fehler konnte nicht abgerufen werden“ weist darauf hin, dass das Skript versucht hat, die zugehörige Fehlermeldung abzurufen mit der vorherigen MySQLi-Operation, aber die Fehlermeldung konnte nicht abgerufen werden, möglicherweise aufgrund der geschlossenen Verbindung.
Behebung des Problem
Stellen Sie sicher, dass das DBConnect-Objekt erst geschlossen wird, nachdem alle erforderlichen Abfragen ausgeführt wurden. Im bereitgestellten Code wird das DBConnect-Objekt in der Methode __destruct() geschlossen. Verschieben Sie den eigentlichen Verbindungsabbruch an einen geeigneteren Ort, beispielsweise nachdem alle Abfragen ausgeführt wurden und das Objekt nicht mehr benötigt wird.
Überprüfen Sie außerdem den Status der Verbindung, bevor Sie Abfragen ausführen, um potenzielle Verbindungsprobleme ordnungsgemäß zu behandeln.
Beispiel für überarbeiteten Code
Hier ist ein überarbeiteter Teil des Codes, der sich mit der möglichen Schließung befasst Problem:
// Function to add events to Zodiac calendar
Das obige ist der detaillierte Inhalt vonWarum wird mein PHP-MySQLI-Objekt vorzeitig geschlossen, was zu „MySQLI-Objekt ist bereits geschlossen/MySQL-Fehler konnte nicht abgerufen werden' führt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!