WordPress.DB.RestrictedFunctions.mysql_mysql_error

mysql mysql error

The plugin uses a raw MySQL extension or class instead of WordPress database APIs.

medium weight

Why It Shows Up

The scan found `mysql_*`, `mysqli_*`, PDO MySQL, or related database functions in plugin code.

Why It Matters

Bypassing `$wpdb` can ignore WordPress database configuration, escaping conventions, character sets, and compatibility layers.

How to Fix

  • Replace raw MySQL calls with `$wpdb` methods or higher-level WordPress APIs.
  • Use `$wpdb->prepare()` for dynamic values.
  • If a third-party library requires a database connection, isolate it and document why WordPress APIs cannot be used.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1WPPizza – A Restaurant Plugin184,6892,7031k+Text Domain Mismatch
#2Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More212,5721,2771m+Output is not escaped
#3Database Access with Adminer229832,5531k+Non-prefixed global variable
#4WP Umbrella: Security Backup Restore & Monitoring2297099580k+Exception output is not escaped
#5ManageWP Worker235015701m+Non-prefixed class
#6Clone2324426240k+Output is not escaped
#7Backuply – Backup, Restore, Migrate and Clone24711556600k+Non-prefixed global variable
#8InstaWP Connect – 1-click WP Staging & Migration2425481540k+Non-prefixed global variable
#9Database Manager – WP Adminer241,0052,75220k+Non-prefixed global variable
#10Softaculous241155010k+file system operations fread
#11Advanced WordPress Reset – Debug, Recover & Reset WP2547546410k+Output is not escaped
#12rtMedia for WordPress, BuddyPress and bbPress252932467k+Non-prefixed constant
#13Polls CP27399504400Output is not escaped
#14DB Cache Reloaded Fix29133422k+Output is not escaped
#15HTML5 jQuery Audio Player322511531k+Unsafe printing function