wie erhalte ich einen detaillierten Fehlerbericht, wenn ein PHP-MySQL-Skript fehlschlägt?

StackOverflow https://stackoverflow.com/questions/6090500

  •  09-09-2020
  •  | 
  •  

Frage

Wie erhalte ich eine detaillierte Fehlerbeschreibung während eines PHP-MySQL-Skriptlaufs?

Ich habe die folgenden Anweisungen, bei denen das Skript fehlschlägt und die benutzerdefinierte Fehlermeldung anzeigt - den Inhalt des "oder stirb".

Ich möchte den tatsächlichen Fehler von MySQL erhalten (anstelle des von mir erwähnten benutzerdefinierten Fehlers), der eine bessere Vorstellung von dem Szenario vermittelt - ob es sich um ein Datenbankproblem oder ein Serververbindungsproblem usw. handelt..

dies ist der Code, den ich habe, wo ich die Fehlerberichterstattung verbessern muss

$query = "SELECT * FROM table_name";
$result = mysqli_query($db_conn, $query) 
  or die('Connected to database, but querying failed');

danke!

War es hilfreich?

Lösung

Werfen Sie einen Blick auf die Handbuchseite für mysqli_fehler.Im Abschnitt "Prozeduraler Stil" finden Sie ein vollständiges Beispiel, das zeigt, wie Sie die Datenbankverbindung einrichten und die Datenbank abfragen, beide Schritte mit Fehlerbehandlung.

Wenn Sie detaillierte Fehlerinformationen aus Ihren Skripten wünschen, können Sie die Zeilen einfügen

error_reporting( E_ALL );
ini_set('log_errors', true);
ini_set('error_log', '/tmp/php-errors.log');

am Anfang Ihres Codes.Auf diese Weise werden alle Fehler, die von PHP kommen, in die Protokolldatei geschrieben.Stellen Sie sicher, dass der Pfad zur Protokolldatei vorhanden ist (/tmp ist nur ein Beispiel) und ist vom Webserver beschreibbar, andernfalls werden die Fehler stillschweigend verworfen.

Als Randnotiz:Während die "or die()" muster ist gut für kleine Beispiele, Sie sollten es nicht im Produktionscode verwenden.

Andere Tipps

Check out mysql_error Funktion.

Ich ziehe es vor, PDO zu verwenden, und mit PDO eine Ausnahme wirft.

Sie können die Abfrage in die Abfrage-Seite auf phpMyadmin einfügen, wenn Sie es verwenden.Dies wird Ihnen jedoch nicht informiert, ob die Fehler mit den Variablen

sind

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top