Bei Verwendung von MySQLI -Erweiterungen ist MySQLI :: Debugg ein sehr nützliches Debugging -Tool, mit dem Entwickler detaillierte Informationen anzeigen können, wenn sie mit MySQL -Datenbanken interagieren. Wenn Sie MySQLI :: Debug anrufen, können Sie den Ausführungsprozess, Fehlerinformationen usw. der MySQL -Abfrage ausdrucken. Viele Entwickler stellen jedoch fest, dass es bei Verwendung von MySQLI :: Debugg keine Antwort hat. In diesem Artikel werden einige häufige Ursachen für die Ungültigkeit aufgeführt, um herauszufinden, was das Problem ist.
MySQLI :: Debug muss sicherstellen, dass die Debugging -Funktion von MySQL aktiviert ist. Wenn die MySQL -Konfiguration kein Debugging ermöglicht, wird es keinen Einfluss haben, wenn MySQLi :: Debuggen aufgerufen wird. Sie können überprüfen, ob die MySQL -Konfigurationsdatei (normalerweise my.cnf oder my.ini ) debugging aktiviert ist, oder verwenden Sie die folgenden SQL -Befehle, um den Debugging -Status zu überprüfen:
SHOW VARIABLES LIKE 'log_output';
Stellen Sie sicher, dass der Wert der Variablen log_output Tabelle oder Datei ist, andernfalls werden die Debug -Informationen nicht aufgezeichnet.
Wenn Sie eine Verbindungsmethode verwenden, die das Debuggen beim Erstellen einer MySQLI -Verbindung nicht unterstützt, funktioniert MySQLI :: Debuggen möglicherweise nicht. Wenn Sie beispielsweise eine Verbindung zur Datenbank mithilfe der MySQLI_Connect () -Methode herstellen, wird das Debuggen möglicherweise nicht wirksam. Um die normale Arbeit der Debugging-Funktion zu gewährleisten, wird empfohlen, eine objektorientierte Methode zu verwenden, um Datenbankverbindungen zu erstellen:
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
$mysqli->debug("test");
Wenn Sie noch mySQLI_Connect () verwenden, überprüfen Sie andere Konfigurationen oder versuchen Sie, auf objektorientierte Ansatz umzusteigen.
Manchmal werden Debugging -Informationen in eine Protokolldatei ausgegeben oder vom Puffer des Browsers zwischengespeichert, wodurch Sie die Debugging -Ausgabe nicht direkt auf dem Bildschirm sehen. Sie können versuchen, die PHP.ini -Konfiguration zu ändern, um sicherzustellen, dass die Fehlermeldung im Browser korrekt angezeigt wird.
Öffnen Sie die folgende Konfiguration in php.ini :
display_errors = On
error_reporting = E_ALL
Stellen Sie gleichzeitig sicher, dass der PHP -Ausgang nicht gepuffert ist. Sie können die Ausgangspufferung deaktivieren oder die Pufferung löschen:
ob_end_flush();
Wenn Ihr Code die URL -Ausgabe von MySQLI :: Debug (z. B. die URL -Verbindung zur Datenbank) verwendet, stellen Sie sicher, dass er keine falschen Domainnamen enthält. Zum Beispiel hätte es:
$mysqli->real_connect("http://m66.net/dbconnect");
Und Sie haben möglicherweise versehentlich eine ungültige URL verwendet. Stellen Sie sicher, dass die URL gültig ist und Ihrem MySQL -Service entspricht. Wenn die Verbindungs -URL falsch ist, wird die Debug -Ausgabe von MySQLI :: Debuggen scheitern.
Mysqli :: Debug muss an der richtigen Stelle gerufen werden. Es sollte aufgerufen werden, bevor eine MySQL -Abfrage ausgeführt wird, um relevante Debug -Informationen zu erfassen und auszudrucken. Wenn Sie es nach der Ausführung der Abfrage anrufen, sind die Debug -Informationen möglicherweise verloren gegangen. Stellen Sie sicher, dass Sie es verwenden, bevor Sie Datenbankvorgänge ausführen:
$mysqli->debug("Debugging MySQL Query");
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
MySQLI :: Debug wird hauptsächlich zum Drucken detaillierter Informationen zum Ausführungsprozess für Abfragen verwendet. Wenn Ihre Abfrage in Ordnung ist, gibt sie möglicherweise keine nützlichen Debugging -Informationen aus. Stellen Sie sicher, dass Ihre Abfrage wirklich problematisch ist, oder verwenden Sie komplexere Abfragen, um weitere Informationen zu debuggen.
Wenn Sie die Debug -Ausgabe immer noch nicht sehen können, überprüfen Sie den Browser -Cache oder die Serverkonfiguration. Einige Server können die Ausgabe zwischenspeichern, wodurch Sie in Echtzeit keine Debug -Informationen sehen. Das Löschen des Browser -Cache oder Deaktivieren der Cache -Funktion auf dem Server kann dieses Problem beheben.
MySQLI :: Debug ist ein sehr nützliches Tool, das jedoch in allen Fällen nicht automatisch Debug -Informationen ausgibt. Wenn Sie auf keine Antwort stoßen, können Sie sie nach den obigen Gründen einzeln überprüfen und die Konfiguration anpassen, um sicherzustellen, dass sie ordnungsgemäß funktioniert. Debugging -Informationen können Ihnen helfen, potenzielle Datenbankverbindungsprobleme, Abfragedurchfragen und andere Fehler zu ermitteln, die bei der Interaktion mit MySQL auftreten können.
Verwandte Tags:
mysqli