Zum Hauptinhalt springen

Wie man einen SQL-Fehler in PHP ausgibt - nützliche Tipps und Anweisungen

Bei der Arbeit mit Datenbanken ist es oft notwendig, SQL-Fehler im PHP-Code zu behandeln und anzuzeigen. Denn trotz unserer Bemühungen hat niemand Fehler abgesagt, und früher oder später werden sie sicher auftreten. Um Anwendungen erfolgreich zu entwickeln, müssen Sie wissen, wie Sie einen SQL-Fehler in PHP korrekt ausgeben und die Verarbeitung organisieren können.

Wie man einen SQL-Fehler in PHP ausgibt

Wenn Sie mit einer Datenbank arbeiten, ist es nicht ungewöhnlich, dass SQL-Fehler behandelt werden müssen. Dies kann beim Debuggen hilfreich sein, um problematische Abfragen zu identifizieren und unerwartete Anwendungsfehler zu vermeiden.

Es gibt mehrere Möglichkeiten, einen SQL-Fehler in PHP auszugeben:

  1. Verwenden der Funktion mysqli_error() Mit dieser Funktion können Sie den Fehlertext abrufen, der mit der zuletzt ausgeführten Abfrage verknüpft ist. Sie müssen diese Funktion nach Abschluss der Abfrage aufrufen und das Ergebnis in einer Variablen speichern. Dann können Sie den Fehler mit dem Tag ausgeben echo. $result = mysqli_query($conn, $sql); $error = mysqli_error($conn); if ($error)
  2. Verwenden von Ausnahmen In PHP können Sie auch Ausnahmen verwenden, um SQL-Fehler zu behandeln. Sie können die Abfrageausführung in einen Block umbrechen try-catch und wirft im Falle eines Fehlers eine Ausnahme aus. Sie können dann die Ausnahme behandeln und eine Fehlermeldung ausgeben. try < $result = mysqli_query($conn, $sql); >catch (Exception $e) < echo "Ошибка SQL: " . $e->getMessage(); >
  3. Verwenden von PDO $db = new PDO($dsn, $username, $password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try < $stmt = $db->query($sql); > catch (PDOException $e) < echo "Ошибка SQL: " . $e->getMessage(); >

Abschnitt 1: SQL-Fehler in PHP

// Закрываем соединение с базой данныхmysqli_close($conn);?>
 // Закрываем соединение с базой данныхmysqli_close($conn);?>
 // Закрываем соединение с базой данныхmysqli_close($conn);> catch (Exception $e) getMessage();>?>

Wenn Sie diese einfachen Tipps befolgen, können Sie SQL-Fehler in Ihren PHP-Anwendungen leichter erkennen und beheben.

Abschnitt 2: So zeigen Sie einen SQL-Fehler in PHP an

Um einen SQL-Fehler in PHP anzuzeigen, können Sie die Funktion verwenden mysqli_error oder mysqli_errno. Sie ermöglichen es Ihnen, den Fehlertext bzw. den Fehlercode zu erhalten.

Beispiel für die Verwendung der mysqli_error-Funktion:

$conn = mysqli_connect("localhost", "username", "password", "database");//Выполнение SQL запроса$result = mysqli_query($conn, "SELECT * FROM table");//Получение ошибки, если она естьif (!$result)

Beispiel für die Verwendung der Funktion mysqli_errno:

$conn = mysqli_connect("localhost", "username", "password", "database");//Выполнение SQL запроса$result = mysqli_query($conn, "SELECT * FROM table");//Получение кода ошибки, если она естьif (!$result)
  1. Verwenden Sie die Funktion mysqli_error() Die Funktion mysqli_error() ermöglicht es Ihnen, den Text des Fehlers zu erhalten, der als Ergebnis einer SQL-Abfrage aufgetreten ist. Um diesen Fehler auf dem Bildschirm anzuzeigen, müssen Sie das Konstrukt "echo mysqli_error($conn);" verwenden, nachdem die Abfrage ausgeführt wurde. Auf diese Weise können Sie genau feststellen, was schief gelaufen ist und das Problem beheben.
  2. Fügen Sie eine Überprüfung hinzu, wenn die Abfrage fehlschlägt
  3. Fehler protokollieren Es wird empfohlen, Fehler zu protokollieren, um Probleme mit SQL-Fehlern einfacher zu analysieren und zu lösen. Erstellen Sie eine separate Datei zum Aufzeichnen von Fehlern und fügen Sie Informationen zu jedem Fehler hinzu. Dies wird Ihnen helfen, mögliche Fehlerursachen aufzuspüren und Maßnahmen zu ergreifen, um sie zu beheben.

Zuerst müssen Sie alle PHP-Fehler anzeigen lassen, einschließlich SQL-Fehler. Sie können dies mit der folgenden Anweisung tun:

Auf diese Weise werden alle Fehler, einschließlich SQL-Fehler, während das Skript ausgeführt wird, angezeigt.

Sie können die Funktion verwenden, um weitere Informationen zu einem SQL-Fehler zu erhalten mysqli_error oder mysqli_errno. Funktion mysqli_error gibt eine Textbeschreibung des letzten Fehlers zurück, der beim Ausführen einer SQL-Abfrage aufgetreten ist. Funktion mysqli_errno gibt den numerischen Code des letzten Fehlers zurück.

$result = mysqli_query($connection, $query); if (!$result)

Sie können auch ein Design verwenden try-catch zum Abfangen und Behandeln von SQL-Fehlern. Verwenden Sie dazu eine Klasse mysqli_sql_exception, die die Klasse erbt Exception.

Wenn ein SQL-Fehler auftritt, wird das Ausnahmeobjekt auch im Block erstellt catch eine Textbeschreibung des Fehlers kann mithilfe der Methode abgerufen werden getMessage().