WordPress.org

Make WordPress Core

Changeset 42716


Ignore:
Timestamp:
02/15/2018 02:28:13 PM (3 months ago)
Author:
SergeyBiryukov
Message:

Database: If both WP_DEBUG and WP_DEBUG_DISPLAY are true, display a more specific error message in wpdb::bail().

Props sivel, Mte90, SergeyBiryukov.
Fixes #13657.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/wp-db.php

    r42549 r42716  
    33173317     */
    33183318    public function bail( $message, $error_code = '500' ) {
    3319         if ( ! $this->show_errors ) {
     3319        if ( $this->show_errors ) {
     3320            $error = '';
     3321
     3322            if ( $this->use_mysqli ) {
     3323                if ( $this->dbh instanceof mysqli ) {
     3324                    $error = mysqli_error( $this->dbh );
     3325                } elseif ( mysqli_connect_errno() ) {
     3326                    $error = mysqli_connect_error();
     3327                }
     3328            } else {
     3329                if ( is_resource( $this->dbh ) ) {
     3330                    $error = mysql_error( $this->dbh );
     3331                } else {
     3332                    $error = mysql_error();
     3333                }
     3334            }
     3335
     3336            if ( $error ) {
     3337                $message = '<p><code>' . $error . "</code></p>\n" . $message;
     3338            }
     3339
     3340            wp_die( $message );
     3341        } else {
    33203342            if ( class_exists( 'WP_Error', false ) ) {
    33213343                $this->error = new WP_Error( $error_code, $message );
     
    33233345                $this->error = $message;
    33243346            }
     3347
    33253348            return false;
    33263349        }
    3327         wp_die( $message );
    33283350    }
    33293351
Note: See TracChangeset for help on using the changeset viewer.