Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL connect Error ignorieren / unterdrücken.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL connect Error ignorieren / unterdrücken.

    Hallo liebes Forum,
    mir bereitet derzeit ein Problem seit Tagen Kopfschmerzen ...
    und zwar geht es um folgendes.
    ich habe eine Seite entwickelt die ihren Inhalt via javascript durch rotiert anhand von div boxen,
    so weit so gut, nun habe ich allerdings auch MySQL Datenbanken integriert und sobald mir dort ein Server weg fällt weil er zum beispiel offline ist,
    dann ist meine ganze Seite tot obwohl noch zum Beispiel 3 von 4 Datenbanken Funktionstüchtig sind.

    Das drängt sich quasi penetrant in den vordergrund

    Warning: mysql_connect():

    wo ich für so etwas eigentlich eine txt rein programmiert habe zum aufschreiben der Fehl-Verbindungen.
    Was ich also bräuchte und hoffe hier Hilfe zu bekommen ist etwas, um das zu Ignorieren.

    PHP-Code:
    $link mysql_connect($_db_host$_db_username$_db_passwort);
             if (!
    $link)
             {
                
    $message "bla blub".mysql_error()." ".date('d.m.Y')." - ".date('H:i:s')." \r\n";
                
    file_put_contents"error.log" $messageFILE_APPEND);
                die();    
                }else
                {

    Meine eigenen ansätze waren bereits über

    PHP-Code:
    if(!@mysql_connect($_db_host$_db_username$_db_passwort);

    set_ini('display_errors''0');

    ​if(mysqli_connect_errno()) 
    Was halt nur sehr dürftige Ergebnisse gebracht haben, da der Fehler ja dann einfach nur nicht mehr angezeigt wird, dennoch vorhanden ist ...

    P.S. wenn ich den fehlerhaften Server auskommentiere, also die schleifen zum auslesen der MySQL-Datenbank funktioniert meine Seite Fehler frei.

    Ich hoffe ihr könnt mir den passenden Denk anstoß geben.

    Mit freundlichen Grüßen


  • #2
    mysql_ ist schon seit ewigkeiten deprecated und mittlerweile aus PHP geflogen. PDO hat solche Probleme nicht.
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Hmm, PDO wirft dafür immer eine Exception, wenn die Verbindung nicht klappt. Und das unabhängig vom gesetzten ERRMODE. Doch diese kann gefangen werden, so gesehen hat PDO damit keine Probleme.

      Kommentar


      • #4
        Hey leute also ich hab es mal ausprobiert, haut mich wenn es falsch ist, :'D
        aber wenn ich:

        PHP-Code:
        $link = new PDO('mysql:host=localhost;dbname=admin'$_db_username$_db_passwort);
        sleep(5);
        $sql 'SELECT * FROM User';
        $ergebnis $link->query($sql) or die(); 
        das so baue kriege ich hier auch direkt wieder was neues ins Gesicht geworfen und zwar:

        Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] ;

        hab ich da was falsch gemacht ? Hat irgend wer vielleicht etwas wo ich darüber mehr lesen könnte eventuell mit beispielen wie man so etwas zusammenbaut für meinen Fall ?

        Und mit MySQL ist das wirklich nicht mehr möglich ? :/

        Kommentar


        • #5
          Das ist ne Exception die du fangen kannst, im gegensatz zu PHP-Warnings denen du nur zusehen kannst wie sie deine Seite zerstören.
          [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

          Kommentar


          • #6
            Manual, hier Beispiel 2.

            Kommentar


            • #7
              Ich muss sagen, ich bin beeindruckt
              Dann könnte ich doch eigentlich vom Prinzip via PDO prüfen ob die Datenbanken erreichbar sind und falls "ja" meine alten mysql Verbindungen erstellen oder ?
              (Da ich schon recht viel quellcode und schleifen gebaut und verbaut habe, wäre mir das vorerst die liebste Lösung, was sagt ihr ? möglich oder lieber nochmal alles von vorne bauen ? )

              Mit freundlichen Grüßen

              Kommentar


              • #8
                Zitat von Psytek Beitrag anzeigen
                Ich muss sagen, ich bin beeindruckt
                Dann könnte ich doch eigentlich vom Prinzip via PDO prüfen ob die Datenbanken erreichbar sind und falls "ja" meine alten mysql Verbindungen erstellen oder ?
                Und was ist, wenn sie bei PDO noch erreichbar ist und bei mysql nicht mehr?

                Lass diesen unsinnigen Mischmasch besser sein.

                Zitat von Psytek Beitrag anzeigen
                (Da ich schon recht viel quellcode und schleifen gebaut und verbaut habe, wäre mir das vorerst die liebste Lösung, was sagt ihr ? möglich oder lieber nochmal alles von vorne bauen ? )
                Wenn du nicht dauernd Code kopiert hast, musst du eigentlich kaum was neu bauen.

                Ansonsten hast du ja jetzt einen guten Grund dafür es ordentlich zu machen:

                https://de.wikipedia.org/wiki/Don%E2...epeat_yourself

                Kommentar


                • #9
                  Zitat von hellbringer Beitrag anzeigen

                  Und was ist, wenn sie bei PDO noch erreichbar ist und bei mysql nicht mehr?

                  Lass diesen unsinnigen Mischmasch besser sein.
                  Jap da gebe ich dir recht es ist nur auch vorrübergehend, um die Seite erstmal wieder in Betrieb nehmen zu können.

                  Zitat von hellbringer Beitrag anzeigen

                  Wenn du nicht dauernd Code kopiert hast, musst du eigentlich kaum was neu bauen.

                  Ansonsten hast du ja jetzt einen guten Grund dafür es ordentlich zu machen:

                  https://de.wikipedia.org/wiki/Don%E2...epeat_yourself
                  Werde ich machen danke nochmals für die Hilfe !

                  Thread kann geschlossen werden.

                  Kommentar


                  • #10
                    Zitat von Psytek Beitrag anzeigen
                    Ich muss sagen, ich bin beeindruckt
                    Dann könnte ich doch eigentlich vom Prinzip via PDO prüfen ob die Datenbanken erreichbar sind und falls "ja" meine alten mysql Verbindungen erstellen oder ?
                    (Da ich schon recht viel quellcode und schleifen gebaut und verbaut habe, wäre mir das vorerst die liebste Lösung, was sagt ihr ? möglich oder lieber nochmal alles von vorne bauen ? )
                    Nein. Du musst bei jedem Query prüfen ob die Datenbankverbindung besteht oder nicht. Es bringt doch nix die Fehler beim Verbindungsaufbau zu ignorieren, um beim nächsten Query ein neuen Fehler zu bekommen. Das heißt du musst so oder so alles überarbeiten.

                    Kommentar

                    Lädt...
                    X