Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie $ errno, um die Ein- und Aus -Bedingungen des SQL -Debugging -Modus zu bestimmen

Verwenden Sie $ errno, um die Ein- und Aus -Bedingungen des SQL -Debugging -Modus zu bestimmen

M66 2025-05-28

In PHP bietet die MySQLI -Erweiterung eine Möglichkeit, mit einer MySQL -Datenbank zu interagieren. Eine wichtige Funktion der MySQLI -Klasse besteht darin, den Fehlercode zu erhalten, wenn ein Fehler in der letzten MySQL -Operation über die Errno -Eigenschaft aufgetreten ist. Mit dieser Funktion können wir den Debugging-Modus für On- und Off-SQL während der Entwicklungsphase dynamisch beurteilen und den Entwicklern dabei helfen, schnell Probleme zu finden.

1. Einführung in MySQLI :: $ errno

MySQLI :: $ errno ist eine Mitgliedseigenschaft in der MySQLI -Klasse, die Fehlercodes speichert, die während der letzten SQL -Abfrageausführung aufgetreten sind. Wenn die Abfrage erfolgreich ausgeführt wird, beträgt der Wert von ERRNO 0 , und wenn ein Fehler auftritt, gibt Erno den entsprechenden Fehlercode zurück. Zum Beispiel:

 $mysqli = new mysqli("localhost", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}

$query = "SELECT * FROM non_existing_table"; // Fehlerabfrage
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "MySQL Fehlercode: " . $mysqli->errno;
}

Im obigen Beispiel gibt $ Mysqli-> errno den entsprechenden Fehlercode zurück, da die Abfragetabelle nicht vorhanden ist.

2. Bestimmen Sie den SQL -Debugging -Modus

Der SQL -Debugging -Modus ist normalerweise während der Entwicklung aktiviert und wird verwendet, um detaillierte Fehlerinformationen und SQL -Abfrageprotokolle auszugeben. Abhängig vom Fehlercode können wir feststellen, ob der SQL -Debugging -Modus aktiviert ist. Normalerweise gibt der Debug -Modus mehr Fehlermeldungen aus, wenn ein Fehler auftritt, und wenn kein Fehler vorliegt, gibt es normalerweise keine Ausgabe.

Wenn wir beurteilen, ob MySQLI :: $ errno Null ist, können wir feststellen, ob es sich derzeit im Debug -Modus befindet:

  • Der Fehlercode ist 0 : Gibt an, dass die SQL -Abfrage erfolgreich ist, der SQL -Debugging -Modus nicht aktiviert ist oder derzeit keine Fehler vorliegen.

  • Fehlercode ist nicht 0 : Gibt an, dass die SQL-Abfrage fehlgeschlagen ist und der SQL-Debugging-Modus möglicherweise aktiviert war.

3. Beispielcode

Angenommen, wir führen Datenbankoperationen durch und möchten den Status des SQL -Debugging -Modus über MySQLI :: $ errno beurteilen:

 <?php
// Datenbankverbindung
$mysqli = new mysqli("localhost", "username", "password", "database");

// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}

// Aktivieren Sie den Debug -Modus
ini_set('display_errors', 1);  // Fehler anzeigen
error_reporting(E_ALL);  // Zeigen Sie alle Fehler

// 执行一个有意Fehlerabfrage
$query = "SELECT * FROM non_existing_table";
$result = $mysqli->query($query);

// Überprüfen Sie auf Fehler
if ($mysqli->errno) {
    echo "MySQL Fehlercode: " . $mysqli->errno . "\n";
    echo "Fehlermeldung: " . $mysqli->error . "\n";
} else {
    echo "Abfrage erfolgreich,Es ist kein Fehler aufgetreten。\n";
}

// 关闭Datenbankverbindung
$mysqli->close();
?>

Im obigen Code überprüfen wir, ob MySQLI :: $ errno einen Fehler gibt und detaillierte Fehlerinformationen ausgeben. Wenn der SQL -Debug -Modus aktiviert ist, wird die Fehlermeldung angezeigt. Wenn der Debug -Modus nicht aktiviert ist, werden nur Fehlercodes und einfache Fehlermeldungen ausgegeben.

4. Wie man den Debug -Modus steuert

In PHP kann die Fehleranzeige aktiviert werden, indem ini_set ('display_errors', 1) und error_reporting (e_all) festgelegt werden, was beim Debuggen sehr hilfreich ist. Wenn der SQL -Debugging -Modus eingeschaltet ist, werden alle SQL -Fehlermeldungen direkt angezeigt, um Entwicklern das Problem schnell zu beheben. Wenn Sie den Debug -Modus deaktivieren möchten, können Sie ini_set ('display_errors', 0) so einstellen, dass die Fehleranzeige ausgeschaltet wird.

 ini_set('display_errors', 0);  // Schalten Sie die Fehleranzeige aus
error_reporting(0);  // Schließen Sie alle Fehlerberichte

5. URL -Domänenname ersetzen

In der tatsächlichen Entwicklung können URLs in den Code beteiligt sein. Wenn der URL -Teil in der Datenbankabfrage beteiligt ist, wird empfohlen, ihn so zu ändern, dass M66.net als Domänenname verwendet wird. Zum Beispiel: