Abfrage: Datenbank vorhanden?
chris
- php
0 Vinzenz Mai0 chris0 Jeena Paradies
Hallo,
ich möchte eine Abfrage mit IF machen, ob die Datenbank vorhanden ist.
Denn gerade ist auf dem Server die MySQL Datenbank ausgefallen und keine Seiten gehen mehr.
Deshalb möchte ich den Status abfragen.
Müsste doch mit diesem Befehl gehen, aber wie?:
dba_exists
vielen dank
Hallo Chris,
Denn gerade ist auf dem Server die MySQL Datenbank ausgefallen und keine Seiten gehen mehr.
Deshalb möchte ich den Status abfragen.
das solltest Du jedesmal tun, wenn Du Dich mit der Datenbank verbindest. Mit welcher Funktion erledigst Du dies?
Müsste doch mit diesem Befehl gehen, aber wie?:
dba_exists
Nein, natürlich nicht. Wieso auch? Wie Dir das Handbuch sagt, kümmern sich die dba-Abstraktions-Funktionen um Datenbanken vom Typ Berkeley DB.
Wenn Du die Verbindung zu einem MySQL-Server mit mysql_connect() aufbaust, so erhältst Du im Fehlerfall den Rückgabewert false. Einer der möglichen Gründe für einen Fehler ist der Ausfall des MySQL-Servers.
Freundliche Grüße
Vinzenz
Danke
habe es ausprobert.
Ungeschickt ist nur, dass das Script entweder abgebrochen wird mit "die" oder wenn ich dies weglasse, eine Fehlermeldung erscheint.
Kann ich das nicht mit IF abragen und ohne Fehlermeldung im Fall "false" ?
Denn manche Seiten würden bei mir trotzdem laufen, denn diese haben nur den Counter als Datenbankabfrage.
danke
mfg chris
Hallo,
Wie dir Vinzenz schon sagte gibt mysql_connect() true oder false aus, damit kannst du dann deine Abfrage machen:
// connect database
if (!@mysql_connect(DB_URL, DB_USER, DB_PWD)) {
mail(EMAIL, "Datenbankfehler", "Der Fehler lautet:\n\n".mysql_error());
echo "<strong>Konnte Datenbank nicht erreichen!</strong>";
}
Grüße
Jeena Paradies
Hallo,
danke für den Quelltext.
Aber auch hier kommen bei nichtvorhandener Datenbank Fehlermeldungen.
Kann diese nur ausschalten mit error_reporting(0);
und das ist ja auch nicht gerade sinnvoll.
danke
Hallo,
Aber auch hier kommen bei nichtvorhandener Datenbank Fehlermeldungen.
Kann diese nur ausschalten mit error_reporting(0);
und das ist ja auch nicht gerade sinnvoll.
Das @ bei @mysql_connect() unterdrückt bei dir die Fehlermeldungen wirklich nicht?
Grüße
Jeena Paradies
Sorry,
geht doch.
Ich hatte wohl etwas verkehrt gemacht!
danke
gruß christoph