ursus contionabundo: Kleine Verfeinerung der reportPDOError - Methode

Beitrag lesen

meine reportPDOError Methode häufiger nutzen

Kann man wirklich. Da gilt es aber noch was zu verfeinern. Die Methode gibt nämlich stets auf der Webseite aus, was gerade nicht immer erwünscht ist:

private function reportPDOError( $message, $sql ) {
    $info = $this -> dbh -> errorInfo();
    echo "<div style='color:red'><b>Error in SQL Access: $message</b>";
    echo "<br>SQL-Statement: $sql";
    echo "<br>PDO SQLSTATE: $info[0]";
    echo "<br>MySQL error code: $info[1]";
    echo "<br>MySQL error message: $info[2]</div>";
}

Mein Vorschlag (blind geschrieben, nicht getestet):

private function reportPDOError( $message, $sql, $isFatal = false ) {
    $info = $this -> dbh -> errorInfo();
 
    trigger_error ( 'Error in SQL Access: ' . $message, E_USER_NOTICE ); 
    trigger_error ( 'SQL-Statement: '       . $sql    , E_USER_NOTICE ); 
    trigger_error ( 'PDO SQLSTATE: '        . $info[0], E_USER_NOTICE ); 
    trigger_error ( 'MySQL error code: '    . $info[1], E_USER_NOTICE ); 
    trigger_error ( 'MySQL error message: ' . $info[2], E_USER_NOTICE ); 

    if ( DEBUG || ini_get('display_errors') ) {
        echo '<div style="color:red"><b>Error in SQL Access: ' . $message . '</b>';
        echo '<br>SQL-Statement: '       . $sql
           . '<br>PDO SQLSTATE: '        . $info[0]
           . '<br>MySQL error code: '    . $info[1]
           . '<br>MySQL error message: ' . $info[2]
           ;
        if ( $isFatal ) {
            echo '<br>Exit called.</div>';
            exit;
        }
        echo '</div>';
    }
    if ( $isFatal ) {
        trigger_error ('Exit called.', E_USER_ERROR );
    }
}
0 94

phpmyadmin nicht start

  1. 0
    1. 0
  2. 1
    1. 0
      1. 0
      2. 0
        1. 0
          1. 0
            1. 0
              1. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. 0
                              1. 1
                                1. 0
                                  1. 0
                                    1. 0
                                      1. 0
                                  2. 0
                                    1. 0
                                      1. 0
                                        1. 0
                                          1. 0
                                            1. 0
                                              1. 0
                                                1. 0
                                                  1. 0
                                                    1. 0
                                                      1. 0
                                                        1. 0
                                                          1. 0
                                                          2. 1

                                                            Es lag definitiv am PHP...

                                                            1. 0

                                                              Was an der Kommentarfunktion konzeptionell schlecht ist

                                                              1. 0
                                                                1. 0
                                                                  1. 0
                                                                    1. 0
                                                                    2. 0

                                                                      Altes Zeug löschen

                                                                      1. 0
                                                                        1. 0
                                                            2. 0
                                                              1. 0
                                                                1. 0

                                                                  Deine Datenbank-Tabelle ist wahrscheinlich (noch) falsch.

                                                                  1. 0
                                                                    1. 0
                                                                      1. 0
                                                                        1. 0
                                                                  2. 0
                                                                    1. 0
                                                                      1. 0
                                                                        1. 0

                                                                          Auf dem Weg zum DELETE

                                                                        2. 0

                                                                          Nein! Du machts jetzt einen Plan.

                                                                          1. 0
                                                                      2. 0
                                                                        1. 0
                                                                          1. 0
                                                                            1. 0
                                                                              1. 0
                                                                                1. 0
                                                                                  1. 0
                                                                                    1. 0
                                                                                    2. 0
                                                                                    3. 0
                                                                                      1. 0
                                                                                        1. 0
                                                                                          1. 0
                                                                                        2. 0
                                                                                      2. 0

                                                                                        Tabelle wird nicht gezeigt

                                                                2. 0
                                                                  1. 0

                                                                    Kleine Verfeinerung der reportPDOError - Methode

                                                                    1. 0
                                                                      1. 0
                                                                        1. 0
                                                                        2. 0
                                                                          1. 0
                                                                            1. 0
                                                                              1. 0
                                                                                1. 0
                                                                                  1. 0
                                                                                    1. 0
                                                                                      1. 0
                                                                                        1. 0
                                                                                          1. 0
                                                      2. 0
                                                2. 0
                                                  1. 0
                                                    1. 0
                        2. 0
                          1. 0