WordPress.DB.RestrictedClasses.mysql__PDO

mysql PDO

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

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#1Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution191,218901100k+Exception Not Escaped
#2Matomo Analytics – Powerful, Privacy-First Insights for WordPress191,909878100k+Exception Not Escaped
#3Captcha Them All213003236k+Output Not Escaped
#4FileOrganizer – WordPress File Manager21536241200k+unlink unlink
#5Modular DS: Monitor, update, and backup multiple websites211618140k+Exception Not Escaped
#6WP phpMyAdmin214,5286,43550k+Missing Arg Domain
#7File Manager Pro – Filester22565391100k+Missing Unslash
#8WP OAuth Server (OAuth Authentication)221893473k+Non Prefixed Function Found
#9ManageWP Worker225075651m+Non Prefixed Class Found
#10WP Umbrella: Update Backup Restore & Monitoring2291590570k+Exception Not Escaped
#11Easy Digital Downloads – eCommerce Payments and Subscriptions made easy233,72310,28340k+Non Prefixed Namespace Found
#12IP Geo Block233995899k+Output Not Escaped
#13SEO Redirection Plugin – 301 Redirect Manager2327272710k+Non Prefixed Variable Found
#14Shield Security – Smart Bot Blocking, Brute-Force Login Protection & File Scanning231,11820240k+Missing Translators Comment
#15ELEX WooCommerce Request a Quote243982662k+Missing Unslash
#16Database Manager – WP Adminer241,0052,75220k+Non Prefixed Variable Found
#17SlimStat Analytics241,16973770k+Exception Not Escaped
#18CheckoutWC Lite251,3598503k+Text Domain Mismatch
#19DecaLog259432361k+Exception Not Escaped
#20IP Location Block2552162410k+Output Not Escaped
#21Tamara Checkout256012282k+Exception Not Escaped
#22WPvivid — Backup, Migration & Staging258991,461900k+Non Prefixed Namespace Found
#23BackUpWordPress2724527190k+Non Prefixed Variable Found
#24FG Joomla to WordPress272781017k+Unsafe Printing Function
#25FluentSMTP – WP SMTP Plugin with Amazon SES, SendGrid, MailGun, Postmark, Google and Any SMTP Provider297478600k+Missing Translators Comment
#26PhastPress29955210k+Exception Not Escaped
#27SQLite Database Integration29161893k+Exception Not Escaped
#28YASR – Yet Another Star Rating Plugin for WordPress3025237810k+Output Not Escaped
#29FluentAuth – The Ultimate Authorization & Security Plugin for WordPress344422910k+Missing Unslash