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($code, array_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 (Snippets) aus den Bereichen CSS, PHP, JavaScript und MySQL.
CSS - Navigation mit :target auf und zumachen