In PHP können Sie auf einige häufige Fehler stoßen, wenn Sie die MySQLI -Erweiterung verwenden, um mit einer MySQL -Datenbank zu interagieren. Für diese Fehler können wir den Fehlercode über MySQLI :: $ errno erhalten, um uns zu helfen, das Problem zu diagnostizieren. Insbesondere ist es entscheidend, zwischen Datenbankverbindungsfehlern und SQL -Syntaxfehlern zu unterscheiden. In diesem Artikel wird erläutert, wie Sie MySQLI :: $ errno verwenden, um diese beiden Fehler zu unterscheiden.
Datenbankverbindungsfehler treten normalerweise auf, wenn Sie versuchen, eine Verbindung zur Datenbank herzustellen. Wenn der Datenbankserver einen Fehler in der Adresse, Benutzername, Kennwort oder Datenbankname hat, fehlschlägt die Verbindung. In diesem Fall gibt MySQLI :: $ errno einen bestimmten Fehlercode zurück, und wir können das Problem anhand dieses Codes beurteilen.
<?php
$host = 'localhost'; // Datenbankserveradresse
$user = 'root'; // Datenbank Benutzername
$password = ''; // Datenbankkennwort
$database = 'test'; // Datenbankname
// Erstellen Sie eine Datenbankverbindung
$conn = new mysqli($host, $user, $password, $database);
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($conn->connect_errno) {
echo "Verbindungsfehler: " . $conn->connect_error;
// entsprechenderrnoBestimmen Sie den Fehlertyp
if ($conn->connect_errno == 1049) {
echo "Die Datenbank existiert nicht!";
} elseif ($conn->connect_errno == 1045) {
echo "Falscher Benutzername oder Passwort!";
}
exit();
}
echo "Stellen Sie erfolgreich eine Verbindung zur Datenbank her!";
?>
Wenn die Datenbankverbindung in diesem Beispiel ausfällt, gibt $ conn-> connect_errno einen Fehlercode zurück. Beispielsweise gibt der Fehlercode 1049 an, dass die Datenbank nicht vorhanden ist, und der Fehlercode 1045 zeigt an, dass der Benutzername oder das Kennwort falsch ist. Mit diesen Fehlercodes können Sie das Problem genauer finden.
Wenn Sie SQL -Abfragen ausführen, können SQL -Syntaxfehler dazu führen, dass die Abfrage fehlschlägt. Zu diesem Zeitpunkt gibt MySQLI :: $ errno Code zurück, das sich auf SQL -Fehler bezieht. Durch die Beurteilung des Fehlercode können Sie schnell unterscheiden, ob es sich um einen SQL -Syntaxfehler oder andere Fehlertypen handelt.
<?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'test';
// Erstellen Sie eine Datenbankverbindung
$conn = new mysqli($host, $user, $password, $database);
// Führen Sie einen Syntaxfehler ausSQLAbfrage
$sql = "SELEC * FROM users"; // Fehler的Abfrage:SELEC Sollte sein SELECT
$result = $conn->query($sql);
// prüfenSQLOb die Ausführung erfolgreich ist
if ($result === false) {
echo "SQLFehler: " . $conn->error;
// 判断Fehler代码
if ($conn->errno == 1064) {
echo "SQL语法Fehler!";
}
exit();
}
echo "Abfrage成功!";
?>
In diesem Beispiel hat die SQL-Abfrage einen Syntaxfehler ( SELEC sollte ausgewählt werden) und $ conn-> errno gibt 1064 zurück, wodurch ein SQL-Syntaxfehler angezeigt wird. Durch die Beurteilung des Wertes von MySQLI :: $ errno können Sie schnell Probleme in SQL -Abfragen finden.
MySQLI :: $ errno bietet eine effektive Möglichkeit, Datenbankverbindungsfehler von SQL -Syntaxfehlern zu unterscheiden. Durch Überprüfen des zurückgegebenen Fehlercode können Sie das Problem schnell diagnostizieren und die Debugging -Zeit verkürzen.
Datenbankverbindungsfehler : Connect_errno wird normalerweise verwendet, um zu überprüfen, ob die Verbindung erfolgreich ist, und verschiedene Verbindungsfehler nach Fehlercode zu unterscheiden (z. B. Benutzername oder Kennwortfehler, Datenbank existiert nicht usw.).
SQL-Syntaxfehler : Wenn ein Problem mit der SQL-Abfrage vorliegt, kann der von $ conn-> errno zurückgegebene Fehlercode Ihnen helfen, Syntaxfehler zu erkennen.
Diese beiden Fehlerbehandlungsmethoden können Ihnen helfen, Datenbankvorgänge besser verwalten und zu debuggen und die Robustheit Ihres Codes zu verbessern.