Wenn Sie PHP für Datenbankoperationen verwenden, müssen Sie häufig eine Verbindung zur MySQL -Datenbank herstellen, und während dieses Vorgangs können Sie auf Verbindungsfehler stoßen. Um uns zu helfen, diese Fehler zu diagnostizieren und zu behandeln, bietet PHP zwei sehr nützliche Funktionen: Mysqli_Connect_errno () und MySQLi :: $ errno . In diesem Artikel wird erläutert, wie diese beiden Funktionen kombiniert werden, um Datenbankverbindungsfehler zu erhalten und zu verarbeiten.
MySQLI_Connect_errno () ist eine Funktion in PHP, um den letzten Datenbankverbindungsfehlercode zu erhalten. Diese Funktion gibt einen Ganzzahlwert zurück, der den Fehlercode angibt, der beim letzten Mal eine Verbindung zu einer MySQL -Datenbank hergestellt wird. Durch diese Funktion können wir den spezifischen Grund für den Datenbankverbindungsfehler kennen.
mysqli_connect_errno();
Wenn kein Fehler auftritt, gibt MySQLI_Connect_errno () 0 zurück. Andernfalls gibt es einen Ganzzahlwert zurück, der den Fehlertyp darstellt.
MySQLI :: $ errno ist eine Eigenschaft der MySQLI -Klasse, mit der der in der letzten Operation angezeigte Fehlercode (nicht unbedingt ein Verbindungsoperation) angezeigt wird. Es handelt sich um eine Objekteigenschaft, auf die über ein Datenbankverbindungsobjekt zugegriffen werden kann.
$mysqli->errno;
Ähnlich wie bei MySQLI_Connect_errno () beträgt der Wert von MySQLI :: $ errno bei 0. Andernfalls enthält er einen Ganzzahlwert, der den Fehler darstellt.
Wir können diese beiden Funktionen in Kombination verwenden, indem wir den Fehlercode überprüfen, wenn die Datenbank angeschlossen ist, und die entsprechende Fehlerbehandlung basierend auf dem Fehlercode ausführen. Dies hilft uns nicht nur dabei, die Ursache für den Verbindungsversagen genau zu lokalisieren, sondern auch angemessen zu reagieren, wenn Fehler auftreten.
<?php
// Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli("m66.net", "username", "password", "database_name");
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_errno) {
// Wenn die Verbindung fehlschlägt,Ausgabefehlermeldung
echo "Verbindung ist fehlgeschlagen: " . $mysqli->connect_error;
exit();
}
// Nachdem die Verbindung erfolgreich ist,Wir können weiter nachfragen
$query = "SELECT * FROM table_name";
$result = $mysqli->query($query);
// Überprüfen Sie, ob die Abfrage erfolgreich ist
if ($mysqli->errno) {
// Wenn die Abfrage fehlschlägt,Ausgabefehlercode und Fehlermeldung
echo "Abfrage fehlgeschlagen,Fehlercode: " . $mysqli->errno . ",Fehlermeldung: " . $mysqli->error;
} else {
// Abfrage erfolgreich,Verarbeitungsergebnisse
while ($row = $result->fetch_assoc()) {
echo $row['column_name'] . "<br>";
}
}
// Schließen Sie die Datenbankverbindung
$mysqli->close();
?>
Im obigen Code versuchen wir zunächst, eine Verbindung zur Datenbank herzustellen und Connect_errno zu überprüfen, um zu bestätigen, ob die Verbindung erfolgreich ist. Wenn die Verbindung fehlschlägt, gibt $ mysqli-> connect_error bestimmte Fehlermeldungen zurück und hilft uns schnell, das Problem zu finden. Wenn die Verbindung erfolgreich ist, führen wir weiterhin den SQL -Abfragevorgang durch und prüfen, ob während der Abfrage Fehler vorliegt. Wenn ein Fehler auftritt, erhalten wir den spezifischen Fehlercode über $ MySQLI-> errno und die detaillierten Fehlerinformationen über $ mySQLI-> Fehler .
1045 - Zugriff für den Benutzer verweigert
Dieser Fehler gibt normalerweise einen Fehler in den Datenbankverbindungs -Anmeldeinformationen (Benutzername oder Kennwort) an.
2002 - Ich kann keine Verbindung zum lokalen MySQL -Server über Socket herstellen
Dieser Fehler tritt normalerweise auf, wenn der MySQL -Server nicht an den angegebenen Socket angeschlossen werden kann, der durch den MySQL -Dienst nicht gestartet oder Konfigurationsfehler verursacht werden kann.
1049 - Unbekannte Datenbank
Dieser Fehler tritt auf, wenn die angegebene Datenbank nicht vorhanden ist.
Durch Kombination von mySQLI_Connect_errno () und MySQLi :: $ errno können wir in Datenbankverbindungen effektiv erhalten und prozessfehlerinformiert werden. Beide haben ihren eigenen Schwerpunkt. MySQLI_Connect_errno () wird hauptsächlich zum Umgang mit Verbindungsfehlern verwendet, während MySQLI :: $ errno für eine breitere Bandbreite der Betriebsfehlerbehandlung geeignet ist. In der tatsächlichen Entwicklung kann das Beherrschen der Mastering, wie diese beiden unsere Datenbankvorgänge robuster machen und die Verbindungsfehler schnell beheben und beheben können.