Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt mein PHP-Skript den Fehler „mysqli::query(): MySQL Object bereits geschlossen oder Unable to Fetch MySQL Error' aus?

Warum gibt mein PHP-Skript den Fehler „mysqli::query(): MySQL Object bereits geschlossen oder Unable to Fetch MySQL Error' aus?

Barbara Streisand
Freigeben: 2024-12-16 22:18:14
Original
870 Leute haben es durchsucht

Why is my PHP script throwing

mysqli::query(): MySQL-Objekt bereits geschlossen oder MySQL-Fehler konnte nicht abgerufen werden

Problem

Beim Ausführen eines PHP-Skripts stoßen Sie auf Folgendes Fehler:

  • PHP 7: mysqli::query(): Konnte MySQL in [script_path] in Zeile [line_number] nicht abrufen
  • PHP 8: Nicht abgefangener Fehler: MySQL-Objekt ist bereits vorhanden geschlossen

Erklärung

Diese Fehler weisen darauf hin, dass Ihr PHP-Skript versucht, eine MySQL-Abfrage auszuführen, nachdem das MySQL-Verbindungsobjekt geschlossen wurde.

Lösung

Stellen Sie sicher, dass Ihr MySQL-Verbindungsobjekt noch aktiv ist, bevor Sie eines ausführen Abfragen.

// Check if the MySQL connection is open
if ($mysqli->connect_error) {
    // Handle the connection error
} else {
    // Execute the query
    $result = $mysqli->query($query);
}
Nach dem Login kopieren

Mögliche Ursachen

  • Zu frühes Schließen der Verbindung: Stellen Sie sicher, dass Sie die MySQL-Verbindung erst dann schließen Abfragen wurden ausgeführt.
  • Destruktorprobleme: Vermeiden Sie das Schließen der MySQL-Verbindung im Destruktormethode (__destruct) einer Klasse, wenn noch Abfragen ausgeführt werden müssen.
  • Falsch deklarierte Verbindungsvariablen: Überprüfen Sie, ob die MySQL-Verbindungsvariable (in diesem Fall $mysqli) vorhanden ist im gesamten Skript korrekt deklariert und zugewiesen.

Zusätzlich Hinweise

  • Im bereitgestellten Codeausschnitt für die Klasse EventCalendar wird die MySQL-Verbindung in der Destruktormethode (__destruct) geschlossen. Dies könnte ein Problem sein, wenn nach dem Aufruf des Destruktors noch Abfragen erforderlich sind.
  • Stellen Sie sicher, dass Sie die richtige PHP-Version und MySQL-Erweiterung verwenden.
  • Überprüfen Sie die MySQL-Serverprotokolle auf weitere Fehler Nachrichten.

Das obige ist der detaillierte Inhalt vonWarum gibt mein PHP-Skript den Fehler „mysqli::query(): MySQL Object bereits geschlossen oder Unable to Fetch MySQL Error' aus?. 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