Make WordPress Core

Opened 14 years ago

Closed 6 years ago

Last modified 6 years ago

#13657 closed enhancement (fixed)

When WP_DEBUG is true show better errors for establishing database connection

Reported by: sivel's profile sivel Owned by: sergeybiryukov's profile SergeyBiryukov
Milestone: 5.1 Priority: low
Severity: trivial Version:
Component: Database Keywords: has-patch
Focuses: Cc:


Right now no matter if WP_DEBUG is enabled or not we always show some generic errors for Error establishing a database connection

We should display the specific error when WP_DEBUG is enabled.

Attachments (3)

13657.diff (2.6 KB) - added by sivel 14 years ago.
13657.2.diff (695 bytes) - added by Mte90 7 years ago.
13657.3.diff (450 bytes) - added by Mte90 7 years ago.
new patch with in bail method

Download all attachments as: .zip

Change History (18)

#1 @sivel
14 years ago

Patch is just an idea of how we might do this. Open to other suggestions and patches.

14 years ago

#2 @nacin
14 years ago

I would tend to think we should not be exposing the output of mysql_error() on any site. Or, if we do, then we at least also check for display_errors/WP_DEBUG_DISPLAY, in case they want WP_DEBUG (as can be common in production) but are logging it.

#3 @nacin
14 years ago

  • Keywords early removed

#4 @nacin
14 years ago

  • Milestone changed from Awaiting Triage to Future Release

#5 @sivel
14 years ago

The way that translations are handled for these errors makes it difficult to do conditionals like this. Mainly due to duplicating large portions of code and strings. Well maybe not large but more than I am comfortable with duplicating.

I may just need to stare at the code for a bit to get a creative solution, that is unless someone has recommendations.

#6 @mbijon
12 years ago

  • Cc mike@… added

#7 @ryan
10 years ago

  • Owner ryan deleted
  • Status changed from new to assigned

#8 @chriscct7
9 years ago

  • Keywords dev-feedback added

#9 @pento
9 years ago

  • Keywords needs-refresh added; dev-feedback removed

The strings have since been split up, making it much easier to insert a conditional string when WP_DEBUG and WP_DEBUG_DISPLAY are defined.

7 years ago


#10 @Mte90
7 years ago

  • Keywords dev-feedback added; needs-refresh removed

I updated the patch but I am not sure about mysql_error because maybe wpdb have a wrapper for that but I am not an expert for this part.

#11 @pento
7 years ago

  • Keywords needs-refresh added; dev-feedback removed

It would be best to put this in wpdb::bail(). That method will always be the one called when WPDB needs to kill page loading. There's no need to check WP_DEBUG && WP_DEBUG_DISPLAY here, as wpdb::$show_errors is set to that.

I would suggest appending it to $message at the start. Also, don't forget to check mysqli_error(). :-)

7 years ago

new patch with in bail method

This ticket was mentioned in Slack in #core by mte90. View the logs.

6 years ago

#13 @SergeyBiryukov
6 years ago

  • Milestone changed from Future Release to 5.0

#14 @SergeyBiryukov
6 years ago

  • Owner set to SergeyBiryukov
  • Resolution set to fixed
  • Status changed from assigned to closed

In 42716:

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.

#15 @SergeyBiryukov
6 years ago

  • Keywords needs-refresh removed
  • Milestone changed from 5.0 to 5.1
Note: See TracTickets for help on using tickets.