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 Bausteinen (Codeschnipsel) aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<embed>Externe Anwendung

CSS - Markieren von Text verhindern

PHP - Element aus einem Array löschen

JavaScript - Datum und Uhrzeit als Zeichenkette anzeigen

MySQL - Flexible Insert-Funktion