Make WordPress Core

Opened 9 years ago

Closed 20 months ago

Last modified 12 months ago

#13657 closed enhancement (fixed)

When WP_DEBUG is true show better errors for establishing database connection

Reported by: sivel Owned by: SergeyBiryukov
Milestone: 5.1 Priority: low
Severity: trivial Version:
Component: Database Keywords: has-patch
Focuses: Cc:
PR Number:


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 9 years ago.
13657.2.diff (695 bytes) - added by Mte90 3 years ago.
13657.3.diff (450 bytes) - added by Mte90 2 years ago.
new patch with in bail method

Download all attachments as: .zip

Change History (18)

#1 @sivel
9 years ago

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

9 years ago

#2 @nacin
9 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
9 years ago

  • Keywords early removed

#4 @nacin
9 years ago

  • Milestone changed from Awaiting Triage to Future Release

#5 @sivel
9 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
7 years ago

  • Cc mike@… added

#7 @ryan
5 years ago

  • Owner ryan deleted
  • Status changed from new to assigned

#8 @chriscct7
4 years ago

  • Keywords dev-feedback added

#9 @pento
4 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.

3 years ago


#10 @Mte90
3 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
2 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(). :-)

2 years ago

new patch with in bail method

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

20 months ago

#13 @SergeyBiryukov
20 months ago

  • Milestone changed from Future Release to 5.0

#14 @SergeyBiryukov
20 months 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
12 months ago

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