Zum Inhalt springen

Fehler

In diesem Artikel konzentrieren wir uns auf die mysqli_error()-Funktion in PHP, die zur Abrufung der Fehlermeldung des letzten MySQLi-Funktionsaufrufs verwendet wird. Wir bieten Ihnen einen Überblick über die Funktion, ihre Funktionsweise und Beispiele für ihre Anwendung.

Einführung in die mysqli_error()-Funktion

Die mysqli_error()-Funktion ist eine integrierte PHP-Funktion, die die Fehlermeldung des letzten MySQLi-Vorgangs zurückgibt. Wenn kein Fehler aufgetreten ist, gibt sie eine leere Zeichenkette zurück. Diese Funktion ist nützlich, wenn Sie Fehler in Ihrem MySQLi-Code behandeln und basierend auf der zurückgegebenen Meldung entsprechende Maßnahmen ergreifen müssen.

Verwendung der mysqli_error()-Funktion

Die Verwendung der mysqli_error()-Funktion ist unkompliziert. Sie rufen sie auf einem gültigen MySQLi-Verbindungsobjekt auf. Hier ist ein Beispiel:

So verwenden Sie die mysqli_error()-Funktion?

php
<?php
$mysqli = mysqli_connect("localhost", "username", "password", "database");

$query = "SELECT * FROM my_table";
$result = mysqli_query($mysqli, $query);

if (!$result) {
    $error_msg = mysqli_error($mysqli);
    echo "Failed to execute query. Error message: " . $error_msg;
    exit();
}

mysqli_close($mysqli);
?>

In diesem Beispiel rufen wir die mysqli_connect()-Funktion auf, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Anschließend führen wir eine Abfrage mit der mysqli_query()-Funktion aus und speichern das Ergebnis in einer Variable. Wir prüfen mit der Bedingung !$result, ob ein Fehler in der Abfrage aufgetreten ist. Falls ja, übergeben wir das Verbindungsobjekt an mysqli_error(), um die spezifische Fehlermeldung abzurufen, sie anzuzeigen und das Skript zu beenden.

Hinweis: Überprüfen Sie immer, ob mysqli_connect() ein gültiges Objekt zurückgibt, bevor Sie Abfragen ausführen. Wenn die Verbindung fehlschlägt, löst mysqli_query() eine PHP-Warnung aus.

Erweiterte Verwendung

Die mysqli_error()-Funktion kann auch für mehrere Verbindungen verwendet werden. Hier ist ein Beispiel:

Erweiterte Verwendung von PHP mysqli_error()

php
<?php
$mysqli1 = mysqli_connect("localhost", "username", "password", "database1");
$mysqli2 = mysqli_connect("localhost", "username", "password", "database2");

$query = "SELECT * FROM my_table";
$result1 = mysqli_query($mysqli1, $query);
$result2 = mysqli_query($mysqli2, $query);

if (!$result1) {
    $error_msg = mysqli_error($mysqli1);
    echo "Failed to execute query on connection 1. Error message: " . $error_msg;
    exit();
}

if (!$result2) {
    $error_msg = mysqli_error($mysqli2);
    echo "Failed to execute query on connection 2. Error message: " . $error_msg;
    exit();
}

mysqli_close($mysqli1);
mysqli_close($mysqli2);
?>

In diesem Beispiel stellen wir zwei separate Verbindungen her und führen auf jeder die gleiche Abfrage aus. Wir prüfen das Ergebnis für jede Verbindung unabhängig voneinander. Wenn eine Abfrage fehlschlägt, übergeben wir das entsprechende Verbindungsobjekt an mysqli_error(), um den spezifischen Fehler zu isolieren und anzuzeigen.

Hinweis zur modernen Fehlerbehandlung: Für neuere PHP-Anwendungen sollten Sie die ausbasierte Fehlerbehandlung mit mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT) aktivieren. Dadurch werden bei Fehlern automatisch mysqli_sql_exception-Objekte ausgelöst, was in vielen Fällen den Bedarf an manuellen mysqli_error()-Prüfungen reduziert.

Fazit

Zusammenfassend lässt sich sagen, dass die mysqli_error()-Funktion ein praktisches Werkzeug zum Debuggen und Behandeln von MySQLi-Fehlern ist. Durch die Überprüfung der Verbindungsvalidität und das Verständnis, wie spezifische Fehlermeldungen abgerufen werden, können Sie widerstandsfähigere Datenbankinteraktionen aufbauen.

Practice

What are some ways to handle errors in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.