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 Codeschnipseln
aus den Bereichen
HTML, CSS,
PHP, JavaScript und
MySQL.
<bdo> Textrichtung
CSS - Ladeanimation ohne Bild-Grafik
JavaScript - Eine Animation ab einer bestimmten Scroll-Position starten