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?

Warum wird mein PHP-MySQLI-Objekt vorzeitig geschlossen, was zu „MySQLI-Objekt ist bereits geschlossen/MySQL-Fehler konnte nicht abgerufen werden' führt?

Barbara Streisand
Freigeben: 2024-12-03 00:57:15
Original
285 Leute haben es durchsucht

Why is my PHP mysqli object closing prematurely, causing

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage