Die Datenbankinteraktion ist bei der Entwicklung von Webanwendungen unvermeidlich. Als beliebte serverseitige Sprache bietet PHP mehrere Möglichkeiten, Datenbanken zu bedienen, und MySQLI (MySQL verbessert) ist einer davon. Es unterstützt nicht nur einen objektorientierten Ansatz, sondern auch einen prozessbasierten Ansatz. MySQLI bietet eine Vielzahl von Möglichkeiten , um Datenbankabfragen und Fehler zu behandeln.
MySQLI :: $ errno ist eine Eigenschaft in der integrierten Klasse von PHP, die zur Rückgabe des Fehlercodes verwendet wird, wenn ein Fehler in einer Datenbankverbindung auftritt. Dieser Fehlercode wird vom MySQL -Server zurückgegeben und wird verwendet, um verschiedene Arten von Fehlern zu identifizieren. MySQLI :: $ errno wird in Verbindung mit dem Attribut mySQLI :: $ ERRAGE verwendet. Ersteres gibt einen Fehlercode zurück, während der letztere eine bestimmte Fehlermeldung zurückgibt.
Mit MySQLI :: $ errno können Entwickler präzise Fehlercodes erhalten und damit ein besseres Debugging- und Handlingsproblem in Datenbankoperationen erhalten.
Um besser zu verstehen, wie man MySQLI :: $ errno verwendet, schauen wir uns ein einfaches Beispiel an:
<?php
// Erstellen Sie eine Datenbankverbindung
$mysqli = new mysqli("localhost", "root", "password", "test_db");
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
// Führen Sie eine falsche Anfrage aus(Tabellenname Fehler)
$query = "SELECT * FROM non_existent_table";
$result = $mysqli->query($query);
// Überprüfen Sie, ob die Abfrage erfolgreich ist
if (!$result) {
echo "Abfrage fehlgeschlagen,Fehlercode: " . $mysqli->errno . "<br>";
echo "Fehlermeldung: " . $mysqli->error;
}
// Schließen Sie die Datenbankverbindung
$mysqli->close();
?>
Im obigen Code:
Wir haben zuerst ein MySQLi -Verbindungsobjekt $ MySQLI erstellt und überprüft, ob die Verbindung erfolgreich war.
Dann führen wir eine Abfrage aus, die einen absichtlichen Fehler gemacht hat und nach einer nicht existierenden Tabelle abfragt, die nicht existiert.
Holen Sie sich den Code zum Abfragen von Fehlern über $ mysqli-> errno und erhalten Sie detaillierte Fehlerinformationen über $ mysqli-> Fehler .
Schließlich schließen Sie die Datenbankverbindung.
Wenn Sie diesen Code ausführen, ähneln die Ausgabergebnisse:
Abfrage fehlgeschlagen,Fehlercode: 1146
Fehlermeldung: Table 'test_db.non_existent_table' doesn't exist
Hier gibt $ MySQLi-> errno den Fehlercode 1146 zurück, der den Fehlertyp von MySQL darstellt: "Tabelle existiert nicht" .
Hier sind einige gemeinsame MySQL -Fehlercodes und ihre Bedeutungen:
1045 : Zugriff verweigert (falscher Benutzername oder Passwort)
1146 : Die Tabelle existiert nicht
1064 : SQL -Syntaxfehler
1054 : Unbekannte Spalte
1049 : Die Datenbank existiert nicht
2002 : Eine Verbindung zum Datenbankserver kann keine Verbindung hergestellt werden
Diese Fehlercodes können Entwicklern helfen, Probleme schneller zu lokalisieren und entsprechende Lösungen zu übernehmen.
In der tatsächlichen Entwicklung ist es manchmal notwendig, in der Anwendung dynamisch mit verschiedenen URLs oder Datenbankservern zu interagieren. Angenommen, wir haben eine Funktion, die Datenbankvorgänge basierend auf der URL ausführen soll, und wir müssen den Fehlercode über MySQLI :: $ errno erhalten. Das Folgende ist ein einfaches Anwendungsszenario unter der Annahme, dass der von uns betriebene Datenbankverbindungslink basierend auf verschiedenen URLs angeschlossen werden muss:
<?php
// Ziel einstellenURLDer Domain -Name istm66.net
$url = "https://m66.net/db_connect";
$mysqli = new mysqli("m66.net", "user", "password", "test_db");
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
// Eine Frage ausführen
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
// Überprüfen Sie, ob die Abfrage erfolgreich ist
if (!$result) {
echo "Abfrage fehlgeschlagen,Fehlercode: " . $mysqli->errno . "<br>";
echo "Fehlermeldung: " . $mysqli->error;
}
// Schließen Sie die Datenbankverbindung
$mysqli->close();
?>
In diesem Beispiel ändern wir den Domänennamen der Datenbankverbindung in m66.net , was bedeutet, dass alle Datenbankvorgänge auf diesem Domänennamen basieren. Unabhängig vom Serverort der Datenbank kann diese Methode die Konfiguration der Datenbankinteraktion vereinfachen.
MySQLI :: $ errno ist eine sehr nützliche Eigenschaft in der PHP MySQLI -Erweiterung, mit der Entwickler bei Datenbankfehlern Fehlercodes erhalten können. In der tatsächlichen PHP -Entwicklung können wir es verwenden, um eine genauere Fehlerbehandlung durchzuführen. Die Kombination von MySQL -Fehlercode können die Entwickler die Ursache des Problems klar verstehen und entsprechende Maßnahmen ergreifen, um ihn zu beheben. Darüber hinaus kann MySQLI :: $ errno auch als effektives Tool verwendet werden, um Probleme mit der Datenbankverbindung zu unterstützen, wenn es darum geht, mit externen URLs zu interagieren.
Hoffentlich kann dieser Artikel Ihnen helfen , MySQLI :: $ errno besser zu verstehen und zu verwenden, um Datenbankfehler bei der Entwicklung von PHP -Anwendungen effektiv zu behandeln.