PHP - Verbindungsfehler zur Datenbank anzeigen

Verbindungsfehler zur DB sollte man nicht direkt auf der Seite anzeigen, denn PHP gibt oft zu viele Daten aus.

SQLSTATE[HY000] [1045] Access denied 
for user 'DB14572'@'U14572-example.com' (using password: YES)

Besser ist es, diese Fehler abzufangen und eine individuelle Fehlermeldung auszugeben.


<?php

// Verbindungsdaten zur Datenbank
$DB_HOST "localhost"// Host-Adresse
$DB_NAME "test"// Datenbankname
$DB_BENUTZER "root"// Benutzername
$DB_PASSWORT ""// Passwort

$OPTION = [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"];

try {
 
// Verbindung zur Datenbank aufbauen
 
$db = new PDO("mysql:host=" $DB_HOST ";dbname=" $DB_NAME,
  
$DB_BENUTZER$DB_PASSWORT$OPTION);
}
catch (
PDOException $e) {
 
// Bei einer fehlerhaften Verbindung
 
if ($FEHLER_VERBINDUNG  == "ja") {
  echo 
'<h3>Nachricht</h3>' .
   
'<p>Die Verbindung zur Datenbank ist fehlgeschlagen!';
  
$fehler = ["2002" => 'Die Host-Adresse ist',
                 
"1049" => 'Der Datenbankname ist',
                 
"1045" => 'Der Benutzername oder das Passwort sind'];
  
$code $e->getCode();
  if (
in_array($codearray_keys($fehler))) {
   echo 
'<br>' $fehler[$code] . ' unbekannt!</p>';
  }
 }
 exit;
}
?>

Ausgabe:
Die Verbindung zur Datenbank ist fehlgeschlagen!
Der Benutzername oder das Passwort sind unbekannt!

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<title> Seitentitel

CSS - Nahtlose unendliche Hintergrundbild-Scroll-Animation

PHP - Variablen eines Arrays in die aktuelle Symboltabelle importieren

JavaScript - Eine Gruppe von Bildern markieren

MySQL - Zeige Einträge von heute an

Plug-ins nötig
Man muss schon einen guten Grund haben, um ein Plug-ins (Browser-Erweiterung) zu rechtfertigen. Denn oft haben die Besucher das entsprechende Plug-in nicht und wollen es auch nicht runterladen, abgesehen davon, dass viele Besucher gar nicht wissen, was ein PlugIn ist. Wenn man trotzdem nicht auf Plug-in verzichten möchte, sollte man zumindest eine Alternative anbieten, sonst bekommen viele potenzielle Besucher die Seite nicht zu sehen.