chris: Abfrage: Datenbank vorhanden?

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

  1. 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

    1. 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

      1. 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

        1. 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

          1. 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

        2. Sorry,
          geht doch.
          Ich hatte wohl etwas verkehrt gemacht!

          danke
          gruß christoph